BCT: Difference between revisions

Created page with "BCT (Boot Configuration Table) is a data structure present on Tegra based devices that supplies boot time configuration parameters. The Switch's BCT is included in the firmwa..."
 
No edit summary
Line 6: Line 6:


= Structure =
= Structure =
== NAND ==
Below is the BCT structure used by the Switch, which is a minimal variation of the Tegra 210 BCT format.
Below is the BCT structure used by the Switch, which is a minimal variation of the Tegra 210 BCT format.


Line 49: Line 50:
|  0x0444
|  0x0444
|  0xCC
|  0xCC
|  customer_data
[[#BCT#customer_data|customer_data]]
|  Data block available for the customer. Used in key generation.
|  Data block available for the customer. Used in key generation.
  0x0444: padding_0x0C
  0x0444: padding_0x0C
Line 200: Line 201:
|  Empty.
|  Empty.
|-
|-
|}
=== customer_data ===
This data block is ignored by the boot ROM, therefore is available for the programmer to use freely.
The Switch uses 0xB0 bytes of this area, at offset 0x0450, to store the active [[#Flash_Filesystem#Keyblob|keyblob]]. All remaining bytes are zero.
The first bootloader validates and decrypts this block for further key generation.
The decrypted keyblob payload is as follows.
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x80
| Array of master static key encryption keys
|-
| 0x80
| 0x10
| [[Package1|Stage 2]] key
|}
|}