Difference between revisions of "boot2"

From Rare Gaming Dump
(Created page with "Also known as the NAND. The Wii contains 512 MiB of NAND flash storage, which is used to store "system software", channels (including Virtual Console titles), game saves, and...")
 
(Removed things that are not true)
Line 1: Line 1:
Also known as the NAND.
 
 
The Wii contains 512 MiB of NAND flash storage, which is used to store "system software", channels (including Virtual Console titles), game saves, and system settings.
 
 
Physical layout:
 
The NAND flash device is divided into 4096 blocks of 8 clusters. Each cluster is 8 pages. Each page is 2048 bytes of data and 64 bytes of "spare data" (used for error-correction (ECC) data and HMAC signatures on individual clusters).
 
 
Block 0 (pages 0-0x3F): boot1
 
boot1 is the second-stage bootloader; it is decrypted by boot0, which resides on a read-only mask ROM inside the Starlet coprocessor. Its primary function is to load and decrypt boot2.
 
Block 0 is guaranteed by the manufacturer to be valid, so there is no bad block map necessary.
 
Blocks 1-7 (Pages 0x40 - 0x1ff) : boot2 (two copies and blockmaps)
 
 
boot2 is the third-stage bootloader; it is stored in a modified WAD format, including a ticket that is encrypted with the common key and signed.
 
boot2 is the third-stage bootloader; it is stored in a modified WAD format, including a ticket that is encrypted with the common key and signed.
Block 8 / Cluster 0x40 / Page 0x200: beginning of per-console unique data
 
Clusters 0x40 - 0x7EFF: Encrypted filesystem data. Data is encrypted with a per-console AES key, and then signed with a (separate, per-console) HMAC key.
 
Clusters 0x7F00-0x7FFF: Filesystem metadata (SFFS, unencrypted). There are 16 superblocks contained therein — one every 16 clusters.
 

Revision as of 22:27, 18 August 2018

boot2 is the third-stage bootloader; it is stored in a modified WAD format, including a ticket that is encrypted with the common key and signed.