Changes

308 bytes added ,  01:10, 22 November 2017
Note on encryption
Line 116: Line 116:  
!  Size
 
!  Size
 
!  [[Filesystem_services|Bis]] Partition ID
 
!  [[Filesystem_services|Bis]] Partition ID
 +
!  Encrypted
 
!  Description
 
!  Description
 
|-
 
|-
Line 122: Line 123:  
|   
 
|   
 
|  20
 
|  20
 +
|  No
 
|  GPT header, Bis-storage also allows raw access to the entire NAND eMMC sectors starting at sector0. The official name for this partitionID from [[SystemInitializer]] is "nn::fs::BisPartitionId::UserDataRoot".
 
|  GPT header, Bis-storage also allows raw access to the entire NAND eMMC sectors starting at sector0. The official name for this partitionID from [[SystemInitializer]] is "nn::fs::BisPartitionId::UserDataRoot".
 
|-
 
|-
Line 128: Line 130:  
|  0x003FBC00
 
|  0x003FBC00
 
|  27
 
|  27
 +
|  Yes
 
|  "CAL0" raw partition containing set:cal data.
 
|  "CAL0" raw partition containing set:cal data.
 
|-
 
|-
Line 134: Line 137:  
|  0x00400000
 
|  0x00400000
 
|  28
 
|  28
 +
|  Yes
 
|  FAT12 filesystem, additional calibration.
 
|  FAT12 filesystem, additional calibration.
 
|-
 
|-
Line 140: Line 144:  
|  0x00800000
 
|  0x00800000
 
|  21
 
|  21
 +
|  No
 
|  For all these packages, data starts at offset 0x4000 and is not console-unique. This is installed from "package2" in firmware package A (0100000000000819) by default. With the exFAT update installed, this is switched to firmware package C (010000000000081B). The data stored here matches the raw /nx/package2 file stored in the 81[9AB] data archives -- there is no additional encryption. "BCPKG2" is "BootConfigAndPackage2": for example, from [[Factory_Setup|SystemInitializer]]: "BootConfigAndPackage2Part1".
 
|  For all these packages, data starts at offset 0x4000 and is not console-unique. This is installed from "package2" in firmware package A (0100000000000819) by default. With the exFAT update installed, this is switched to firmware package C (010000000000081B). The data stored here matches the raw /nx/package2 file stored in the 81[9AB] data archives -- there is no additional encryption. "BCPKG2" is "BootConfigAndPackage2": for example, from [[Factory_Setup|SystemInitializer]]: "BootConfigAndPackage2Part1".
 
|-
 
|-
Line 146: Line 151:  
|  0x00800000
 
|  0x00800000
 
|  22
 
|  22
 +
|  No
 
|  Identical to BCPKG2-1-Normal-Main, probably used as a backup partition.
 
|  Identical to BCPKG2-1-Normal-Main, probably used as a backup partition.
 
|-
 
|-
Line 152: Line 158:  
|  0x00800000
 
|  0x00800000
 
|  23
 
|  23
 +
|  No
 
|  This is installed from "package2" in firmware package B (010000000000081A).
 
|  This is installed from "package2" in firmware package B (010000000000081A).
 
|-
 
|-
Line 158: Line 165:  
|  0x00800000
 
|  0x00800000
 
|  24
 
|  24
 +
|  No
 
|  Identical to BCPKG2-3-SafeMode-Main.
 
|  Identical to BCPKG2-3-SafeMode-Main.
 
|-
 
|-
Line 164: Line 172:  
|  0x00800000
 
|  0x00800000
 
|  25
 
|  25
 +
|  No
 
|  Installed at the factory, never written afterwards on retail. In one case this is identical to normal [[1.0.0]] pkg2, except this has encrypted data at the end padded for 0x1000-byte alignment.
 
|  Installed at the factory, never written afterwards on retail. In one case this is identical to normal [[1.0.0]] pkg2, except this has encrypted data at the end padded for 0x1000-byte alignment.
 
|-
 
|-
Line 170: Line 179:  
|  0x00800000
 
|  0x00800000
 
|  26
 
|  26
 +
|  No
 
|  Identical to BCPKG2-5-Repair-Main.
 
|  Identical to BCPKG2-5-Repair-Main.
 
|-
 
|-
Line 176: Line 186:  
|  0x04000000
 
|  0x04000000
 
|  29
 
|  29
 +
|  Yes
 
|  FAT32 filesystem.
 
|  FAT32 filesystem.
 
|-
 
|-
Line 181: Line 192:  
|  0x07800000  
 
|  0x07800000  
 
|  0xA0000000
 
|  0xA0000000
|  31 (and 32?)
+
|  31 and 32
 +
|  Yes
 
|  FAT32 filesystem.
 
|  FAT32 filesystem.
 
|-
 
|-
Line 188: Line 200:  
|  0x680000000
 
|  0x680000000
 
|  30
 
|  30
 +
|  Yes
 
|  FAT32 filesystem.
 
|  FAT32 filesystem.
 
|-
 
|-
Line 194: Line 207:  
| 0x200
 
| 0x200
 
|  
 
|  
 +
|  No
 
| This is the backup GPT header specified by the main GPT header. This is also the last sector readable with Bis-storage paritionID 20.
 
| This is the backup GPT header specified by the main GPT header. This is also the last sector readable with Bis-storage paritionID 20.
 
|}
 
|}
Line 202: Line 216:     
The filenames for saveimages is just "<lower-case hex u64 saveID>". SYSTEM-partition saveIDs are specified by [[Filesystem_services|FS]] commands, while USER-partition saveIDs are determined by FS-module internally. The high u32 of the saveID is normally either 0x00000000 or 0x80000000.
 
The filenames for saveimages is just "<lower-case hex u64 saveID>". SYSTEM-partition saveIDs are specified by [[Filesystem_services|FS]] commands, while USER-partition saveIDs are determined by FS-module internally. The high u32 of the saveID is normally either 0x00000000 or 0x80000000.
 +
 +
Encrypted partitions use AES-XTS using the same non-standard (endian-swapped) tweak as other Nintendo AES-XTS code, initial_sector == 0, and sector size 0x4000. All encrypted partitions use console unique keydata.
    
=== PRODINFOF ===
 
=== PRODINFOF ===