|
|
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.