Changes

No change in size ,  06:07, 29 July 2022
Undo revision 117609 by MethodOrMadness (talk) 'bls' means "branch if less or same." The comparison with 48 in the code is <= 48, so no, it does read 48 pages.
Line 3: Line 3:  
'''boot0''' is the first-stage bootloader of the [[Starlet]] ARM core on board the [[Hollywood]]; it's contained in 4K of Mask ROM (only 1.5K of which is actually used).
 
'''boot0''' is the first-stage bootloader of the [[Starlet]] ARM core on board the [[Hollywood]]; it's contained in 4K of Mask ROM (only 1.5K of which is actually used).
   −
It contains code to read the first 47 pages of the attached [[Hardware/NAND|NAND flash]], reserved for [[boot1]], decrypt them with a fixed AES key, hash them with {{hw|SHA-1 Engine}}, and compare the hash with a value read from {{hw|OTP}} memory. If the hashes do not match, the system will refuse to proceed to boot1, causing a brick. However, if the hash in OTP is all zeroes, then the system will always boot — this is true of development consoles and probably also during the manufacturing process. For more discussion on this subject, see [http://hackmii.com/2008/05/boot0/ bushing's HackMii post].
+
It contains code to read the first 48 pages of the attached [[Hardware/NAND|NAND flash]], reserved for [[boot1]], decrypt them with a fixed AES key, hash them with {{hw|SHA-1 Engine}}, and compare the hash with a value read from {{hw|OTP}} memory. If the hashes do not match, the system will refuse to proceed to boot1, causing a brick. However, if the hash in OTP is all zeroes, then the system will always boot — this is true of development consoles and probably also during the manufacturing process. For more discussion on this subject, see [http://hackmii.com/2008/05/boot0/ bushing's HackMii post].
    
The division between boot0/boot1 allows the RSA signature initialization and verification to be updated at the factory without rebuilding the Starlet core.
 
The division between boot0/boot1 allows the RSA signature initialization and verification to be updated at the factory without rebuilding the Starlet core.
5,579

edits