This is to prevent downgrading during boot, as boot1 will hang if the version in SEEPROM is higher than the last byte of the system version. The system version is normally a title ID for boot2, the first 7 bytes are 0, while the last one is the version, which is supposed to match the SEEPROM version. The title version is used by IOS to prevent downgrading on install, as well as the System Menu when deciding whether it is appropriate to try to update boot2. īoot2 stores its version in 3 places: the "title version" in the TMD, the "system version," and in SEEPROM. The cause of this is unknown, although it may be related to the failure to write ECC data.įollowing the header is the certificate chain, then the ticket, then the TMD, and finally the single bootable content. Unfortunately, Nintendo did not test ES_ImportBoot very well, which led to many Wiis receiving a low-level brick, even if they were previously unmodded. This was done by calling ES_ImportBoot to install it into the boot2 region of the NAND. boot2 seems to include code to complete the update if it detects /sys/boot.sys on the NAND this code does not update the SEEPROM version.īoot2 was updated in the 4.2 update to boot2v4, the only time Nintendo has ever pushed a boot2 update, besides on prelaunch consoles. There are two copies of boot2 housed in NAND blocks 1-7 in case of failure, loaded by boot1. The main boot code is found in ES, but this code is present in other IOS branches as well.īoot2 is also launched by MIOS when the power button is pressed the System Menu is initialized in this case, and 0x80003164 is set to 1 if the SRSTB_CPU bit is set in HW_RESETS the System Menu checks 0x80003164 and shuts down if it is enabled and state.dat is set appropriately, with the message "Shutdown system from GC!". It is responsible for loading the System Menu TMD and loading the appropriate IOS under normal circumstances, although it can also load MIOS if it detects the lowered clock speed set by BC (if syscall 55 returns 162).īoot2 itself is not much of a bootloader, and more of an IOS configured slightly differently with get_kernel_flavor returning 0 instead of 3. You can help WiiBrew by expanding it.īoot2 is the Wii's third-stage bootloader.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |