Package1: Difference between revisions
add package1 header format |
|||
Line 7: | Line 7: | ||
== Package1ldr == | == Package1ldr == | ||
The code for this stage is stored in plaintext inside the package. By looking into the BCT's bootloader0_info (normal) or bootloader1_info (safe mode), the boot ROM starts executing this stage at address 0x40010020 in IRAM. | The code for this stage is stored in plaintext inside the package. By looking into the BCT's bootloader0_info (normal) or bootloader1_info (safe mode), the boot ROM starts executing this stage at address 0x40010020 in IRAM (0x40010040 for 4.0.0+). | ||
=== Header === | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| Package1ldr hash (first four bytes of SHA256(package1ldr)). | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| Secure Monitor hash (first four bytes of SHA256(secure_monitor)). | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| NX Bootloader hash (first four bytes of SHA256(nx_bootloader)). | |||
|- | |||
| 0xC | |||
| 0x4 | |||
| Unknown hash | |||
|- | |||
| 0x10 | |||
| 0xE | |||
| Build Timestamp (yyyyMMddHHmmss) | |||
|- | |||
| 0x1E | |||
| 0x2 | |||
| Unknown (version?) | |||
|- | |||
|} | |||
=== Initialization === | === Initialization === |