boot0

Revision as of 15:05, 23 May 2019 by RedBees (talk | contribs) (Created page with "{{DISPLAYTITLE:boot0}} <span style="background: #F1EBEB; border: 2px #CACACA solid; padding: 2px 1px 2px 4px;"> 30px|30px This topic has a Wiibrew article. F...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Wii.png This topic has a Wiibrew article. For more information, check here.

boot0 is the first-stage bootloader of the Wii, contained within a Mask ROM chip inside the Hollywood package. It is a very small piece of code which serves only to initialize the Wii's GPIOs, and to load and verify boot1. Since it is stored on Mask ROM, it cannot be modified.

Behavior

boot0 starts by initializing the Wii hardware, then reading the first pages of NAND (which are meant to contain boot1) and verifying them using the boot1 hash in the Wii's OTP. If the hash is mismatched, the system will halt. If the hash matches, the system will continue. If the OTP is blank, the system will continue.

This behavior prevents boot1 from being modified once the OTP is programmed (at the factory for normal retail systems).