In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
141 bytes removed ,  22:05, 21 March 2022
Rewrote part about modules
Line 4: Line 4:  
'''boot2''' is the [[Wii]]'s third-stage bootloader. 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 [[IOS/Syscalls|syscall 55]] returns 162).
 
'''boot2''' is the [[Wii]]'s third-stage bootloader. 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 [[IOS/Syscalls|syscall 55]] returns 162).
   −
Like IOS, boot2 has multiple modules. In this way, it can be thought of as an IOS installed to a special part of the [[NAND]]. However, all modules are contained within a single binary, much like IOSes before [[IOS28]]. Boot2 has a kernel with IOSC functionality, an ES module, and an FS module. Unlike IOS, get_kernel_flavor writes 0 to the first argument instead of 3, which distinguishes it from IOS.
+
boot2 itself is not much of a bootloader, and more of an IOS configured slightly differently with get_kernel_flavor returning 0 instead of 3. The main boot code is found in [[ES/Internal documentation|ES]], but this code is present in other IOS branches as well.
    
boot2 is also launched by MIOS when the power button is pressed; the System Menu is initialized in this case, and [[Memory Map|0x80003164]] <!-- read as c0003164 by the system menu; written as 00003164 by boot2 --> is set to 1 if the SRSTB_CPU bit is set in [[Hardware/Hollywood_Registers#HW_RESETS|HW_RESETS]]; the System Menu checks 0x80003164 and shuts down if it is enabled and [[:/title/00000001/00000002/data/state.dat|state.dat]] is set appropriately, with the message "Shutdown system from GC!".
 
boot2 is also launched by MIOS when the power button is pressed; the System Menu is initialized in this case, and [[Memory Map|0x80003164]] <!-- read as c0003164 by the system menu; written as 00003164 by boot2 --> is set to 1 if the SRSTB_CPU bit is set in [[Hardware/Hollywood_Registers#HW_RESETS|HW_RESETS]]; the System Menu checks 0x80003164 and shuts down if it is enabled and [[:/title/00000001/00000002/data/state.dat|state.dat]] is set appropriately, with the message "Shutdown system from GC!".
5,579

edits

Navigation menu