BootMii Wii

From GameBrew
BootMii
Bootmii2.png
General
Authorfail0verflow
TypeLoader
Version1.5
LicenseApache-2.0
Last Updated2017/01/30
Links
Download
Website
Source

BootMii is a system designed by Team Twiizers to enable complete low-level control of the Wii. It allows the Wii to be controlled mere moments after the On button has been pressed, before any IOS has been loaded and before the NAND filesystem has been read. It that can backup and restore your Wii’s NAND storage, and if installed in boot2, provides brick protection.

BootMii-boot2 runs on every boot. However, BootMii-IOS can be launched from the Homebrew Channel from the menu that pops up when the Home button is pressed.

Installation

You have two options to install BootMii. Each carries its pros and cons, and not all options are available for all Wiis. Specifically:

BootMii/boot2

This mode will install BootMii into 2 blank blocks in the boot2 area of your Wii. It will take over the function of the normal boot2. If no SD card is detected or armboot.bin is not found on the SD card, the drive slot LED will flash briefly and the normal system menu will boot.

  • Pros - Independent of system menu and the rest of NAND flash. Can boot even if the rest of the system is completely corrupted. Allows for safe backup / restore of NAND flash from SD card. Allows direct boot of The Homebrew Channel, or other programs.
  • Cons - Relies on a vulnerability in boot1 that was fixed mid-2008; if your Wii is newer than this, the HackMii Installer will not allow you to install this form of BootMii. Installation is complicated and slightly risky; it has been tested by the development team and believe it to be safe, but a power failure at the wrong time during installation could leave your system unusable.

BootMii/IOS

This mode will install BootMii into your NAND filesystem as an IOS (IOS254). It behaves identically to BootMii/boot2, but you must launch it from a special program (The Homebrew Channel, or your own code.)

  • Pros - Universal compatibility with all Wiis. Allows booting arbitrary code on ARM / PPC. Supports speedy backup of NAND to SD. Very safe to install.
  • Cons - Easily deletable or overwritten by a system update. NAND restore is technically possible, but not safe because you cannot boot to BootMii/IOS in case the contents of your NAND flash are corrupted.

It is recommended launching the BootMii Installer through the Homebrew Channel if you are already capable of running homebrew. For those who don't have the Homebrew Channel on theirs Wii yet can launch the installer via an exploit, read the respective documentation for more information.

When installing BootMii, these files will be created on your SD card:

  • /bootmii
  • /bootmii/armboot.bin - Starlet-resident code (MINI) - this loads ppcboot.elf.
  • /bootmii/ppcboot.elf - BootMii shell - this is the GUI that is displayed when BootMii runs.
  • /bootmii/ - BootMii shell configuration file. See below.

Useful links

User guide

Interface/Options

  • Normal boot to System Menu.
  • Boot directly to Homebrew Channel.
  • Autoboot to System Menu or HBC.
  • Boot any software that uses mini from the SD card.
  • Back up NAND using BackupMii.
  • Restore NAND backup using RestoreMii.

NAND Backup/Restore

BackupMii

BackupMii can be accessed by selecting the gears on the home screen of BootMii, then selecting the leftmost icon.

While BackupMii is running, a chart of all blocks can be seen; there will always be a block highlighted to indicate that it is currently being worked on. As that square moves forward, blocks will be marked as backed up or bad, as they are backed up. There is also an optional step of checking to make sure the backup is valid; this is recommended to be safe.

RestoreMii

RestoreMii can be accessed by selecting the gears on the home screen of BootMii, then selecting the icon second from the left.

Notes

The NAND Backup option will create the file /nand.bin on your SD card. The NAND Restore option will restore /nand.bin. Both options take some shortcuts to improve backup and restore speed.

Upon backup, if your card is not "properly formatted", then you will be prompted for permission to reformat the card. It will be reformatted as FAT32 and given the volume "backupmii", and a nand.bin file will be created in the root directory of the card. It is suggested that you make a backup of your Wii's NAND Flash, label the SD card and store it in a safe place in case you ever need to recover from it.

Configuration file

BootMii will look for a configuration file at /bootmii/bootmii.ini. It expects to see a file in the following form:

VIDEO=NTSC (or PAL50/PAL60/PROGRESSIVE)
AUTOBOOT=HBC (or SYSMENU)
BOOTDELAY=5 (or any other number)

BootMii Utils

A USBGecko-powered executable loader is available at https://github.com/fail0verflow/bootmii-utils. While BootMii is running, you can upload a new armboot.bin or ppcboot.elf file without restarting your system. BootMii will also output diagnostic messages to the USBGecko as it boots.

You can invoke the client as "bootmii -a armboot.bin" to load code to the ARM (e.g. a modified version of MINI), or "bootmii -p ppcboot.elf" to load code to the PPC. Please note that the ARM code will generally reload the PPC code from SD, so if you want to load code to both processors, load the ARM code first, followed by the PPC code.

SD Menu

A simple launcher for PPC ELF files on the SD card is included. Please note that any binary that gets loaded will be running under mini, not under IOS.

Media

BootMii (wiiare.in)

Compatibility

BootMii should be compatible with most Wiis released before late 2008. Support for newer Wiis (with reduced functionality) will have to install BootMii as an IOS.

SD Card Compatibility List.

Changelog

v1.5

  • Changelog not released.
  • Open sourced in August 2022.

v1.4

  • Fixed integer overflow when calculating SD card free space.
  • Changed IOS TMD version to 65281 to prevent it from being repeatedly erased.

v1.2 (Beta 5)

  • Compatible with more SD cards.

v1.0 (Beta 3)

  • Improved the SD card compatibility.

v0.9 (Beta 2)

  • SD card performance has been improved, decreasing the boot and the NAND backup / restore time.

Beta 1

  • First Public Release.

Credits

  • bLAStY - UI Code, SD Loader, webpage.
  • bushing - reversing, lowlevel NAND code, backup, restore, installer.
  • dhewg - gecko loader, toolchain, installer.
  • drmr - artwork.
  • John_K - UI, support code.
  • marcan - reversing, BootMii stub, mini, installer.
  • mha - hosting.
  • segher - reversing, peanut gallery.
  • svpe - mini, sdhc, reversing, installer.
  • tmbinc - original boot2 replacement.
  • comex - usermode IOS exploit.

And thanks to all our betatesters.

External links

Advertising: