Difference between revisions of "Boot Process"

From WiiUBrew
Jump to navigation Jump to search
(Corrected information about boot0 and added the espresso boot rom)
 
Line 2: Line 2:
  
 
The code components involved in the WiiU's boot process are, in order:
 
The code components involved in the WiiU's boot process are, in order:
* (ARM) [[boot0]] - A mask ROM which loads boot1 and verifies its SHA1 hash against that stored in [[Hardware/OTP|OTP]].
+
* (ARM) [[boot0]] - A mask ROM which loads boot1 and verifies its SHA-1 hash against that stored in its [[Ancast Image|ancast header]].
* (ARM) [[boot1]] - Lives in the first block of NAND and loads the IOSU from the NAND filesystem.
+
* (ARM) [[boot1]] - Lives in the first block of NAND and loads IOSU from the NAND filesystem. It verifies IOSU as an ancast image, similar to boot0.
* (ARM) [[IOSU]] - The IOSU is the operating system running on the ARM core. It bootstraps the PPC to start the Cafe OS.
+
* (ARM) [[IOSU]] - IOSU is the operating system running on the ARM core. It loads Cafe OS into memory, then bootstraps the Espresso.
 +
* (PPC) [[Espresso Boot ROM]] - The Espresso Boot ROM verifies the SHA-1 hash of Cafe OS against the hash stored in the ancast header.
 
* (PPC) [[Cafe OS]] - The Cafe OS is the operating system running on the PowerPC core.
 
* (PPC) [[Cafe OS]] - The Cafe OS is the operating system running on the PowerPC core.
 
{{stub}}
 
{{stub}}

Latest revision as of 03:03, 18 May 2021

The WiiU has two processors -- an ARM core (inside the Latte, known as Starbuck) and a PowerPC core (Espresso). The boot process starts on the ARM core, which eventually bootstraps the PPC.

The code components involved in the WiiU's boot process are, in order:

  • (ARM) boot0 - A mask ROM which loads boot1 and verifies its SHA-1 hash against that stored in its ancast header.
  • (ARM) boot1 - Lives in the first block of NAND and loads IOSU from the NAND filesystem. It verifies IOSU as an ancast image, similar to boot0.
  • (ARM) IOSU - IOSU is the operating system running on the ARM core. It loads Cafe OS into memory, then bootstraps the Espresso.
  • (PPC) Espresso Boot ROM - The Espresso Boot ROM verifies the SHA-1 hash of Cafe OS against the hash stored in the ancast header.
  • (PPC) Cafe OS - The Cafe OS is the operating system running on the PowerPC core.