I support!
I am currently working on an update to the yocto version with mender support.
Honister starting version towards scarthgap.
I need to keep the same layout (same sizes between APP, APP_b and UDA) so that my mender images can work on products already deployed for years and are compatible with SKUs 301
and 302
.
# NOTE:
# These values are pinned to maintain backward compatibility with SKU 301 devices
# originally deployed with Honister-based images.
# Changing them would break OTA updates and rollback for existing devices.
So I configure with the same sizes
local.conf
# Enable Mender logic for this build
INHERIT += "mender-full"
INHERIT:append:tegra = " tegra-mender-setup"
MYPRODUCT_MENDER_ENABLED = "1"
# Conditionally include Mender-specific providers
require conf/distro/include/myproduct-mender-preferred.inc
# Enable redundant root filesystem layout (A/B) to support atomic OTA updates with Mender.
# This switches the partition layout template to the *_rootfs_ab.xml version,
# ensuring the presence of both APP and APP_b partitions.
USE_REDUNDANT_FLASH_LAYOUT = "1"
myproduct-mender-preferred.inc:
# Adjust reserved space for APP/APP_b so UDA has room
TEGRA_MENDER_RESERVED_SPACE_MB = "1974"
# Allocate a larger persistent data partition
MENDER_DATA_PART_SIZE_MB_DEFAULT:tegra = "3072"
For my first test, I’m trying to apply my layout on a jetson-xavier-nx-devkit-emmc
before trying with my machines.
I am encountering the following error:
[0024.302] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0024.310] I> MB1 (prd-version: 2.6.0.0-t194-41334769-cab45716)
[0024.316] I> Boot-mode: Platform RCM
[0024.319] I> Platform: Silicon
[0024.322] I> Chip revision : A02P
[0024.325] I> Bootrom patch version : 15 (correctly patched)
[0024.330] I> ATE fuse revision : 0x200
[0024.333] I> Ram repair fuse : 0x0
[0024.337] I> Ram Code : 0x1
[0024.339] I> rst_source: 0x0, rst_level: 0x0
[0024.344] I> USB configuration success
[0026.920] I> mb2 image downloaded
[0027.091] I> Recovery boot mode 0
[0027.097] I> UPHY full init done
[0027.104] I> MB1 done
[0027.109] I> Welcome to MB2(TBoot-BPMP) Applet (version: default.t194-mobile-dba32e6d)
[0027.116] I> DMA Heap @ [0x40020000 - 0x40065800]
[0027.121] I> Default Heap @ [0xd486400 - 0xd48a400]
[0027.125] W> Profiler not initialized
[0027.237] I> sdmmc DDR50 mode
[0027.244] I> QSPI-0l initialized successfully
[0027.251] E> CLK_RST: instance 6 not found in module 44.
[0027.256] E> MPhy CAR configuration failed error = 1747992077
[0027.261] E> UFS initialization failed
[0027.265] I> UFS is not present
[0027.270] W> Cannot find any partition table for 00000003
[0027.276] > PARTITION_MANAGER: Failed to publish partition.
[0027.285] I> Found 23 partitions in SDMMC_USER (instance 3)
[0027.293] I> Found 41 partitions in QSPI_FLASH (instance 0)
[0027.298] W> Profiler not initialized
[0027.301] I> Entering 3p server
[0027.304] I> USB configuration success
[0028.768] I> Populate chip info
[0028.940] I> Populate eeprom info
[0028.943] I> Populate eeprom info for module cvm
[0028.948] > DEVICE_PROD: device prod is not initialized.
[0029.373] I> Rebooting : reboot-recovery
[0029.377] I> Reset to recovery mode
��
[0007.868] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0007.876] I> MB1 (prd-version: 2.6.0.0-t194-41334769-cab45716)
[0007.881] I> Boot-mode: RCM
[0007.884] I> Platform: Silicon
[0007.887] I> Chip revision : A02P
[0007.890] I> Bootrom patch version : 15 (correctly patched)
[0007.895] I> ATE fuse revision : 0x200
[0007.899] I> Ram repair fuse : 0x0
[0007.902] I> Ram Code : 0x1
[0007.904] I> rst_source: 0xb, rst_level: 0x1
[0007.909] I> USB configuration success
[0010.202] I> bct_bootrom image downloaded
[0010.210] W> PROD_CONFIG: device prod data is empty in MB1 BCT.
[0010.217] I> Temperature = 37000
[0010.221] W> Skipping boost for clk: BPMP_CPU_NIC
[0010.225] W> Skipping boost for clk: BPMP_APB
[0010.229] W> Skipping boost for clk: AXI_CBB
[0010.233] W> Skipping boost for clk: AON_CPU_NIC
[0010.237] W> Skipping boost for clk: CAN1
[0010.241] W> Skipping boost for clk: CAN2
[0010.245] I> Boot-device: QSPI (instance: 0)
[0010.249] I> Qspi flash params source = mb1bct
[0010.253] I> bct_mb1 image downloaded
[0010.264] I> Non-ECC region[0]: Start:0x80000000, End:0x100000000
[0010.272] W> Thermal config not found in BCT
[0010.280] W> MEMIO rail config not found in BCT
[0010.290] I> bct_mem image downloaded
[0011.668] I> blob image downloaded
[0011.839] I> Recovery boot mode 0
[0011.883] W> Platform config not found in BCT
[0011.916] I> MB1 done
����main enter
SPE VERSION #: R01.00.18 Created: Jan 29 2021 @ 14:18:27
HW Function test
Start Scheduler.
in late init
��
[0011.926] I> Welcome to MB2(TBoot-BPMP) Recovery (version: default.t194-mobile-405defbc)
[0011.927] I> DMA Heap @ [0x526fa000 - 0x52ffa000]
[0011.927] I> Default Heap @ [0xd486400 - 0xd48a400]
[0011.929] E> DEVICE_PROD: Invalid value data = 70020000, size = 0.
[0011.935] W> device prod register failed
[0011.950] I> Relocating BR-BCT
[0011.952] > DEVICE_PROD: device prod is not initialized.
[0011.978] E> I2C: slave not found in slaves.
[0011.979] E> I2C: Could not write 0 bytes to slave: 0x00ae with repeat start true.
[0011.980] E> I2C_DEV: Failed to send register address 0x00000000.
[0011.981] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x00000000 via instance 0.
[0011.982] E> eeprom: Failed to read I2C slave device
[0011.984] I> Failed to read CVB eeprom data @ AE
[0011.989] I> Retrying CVB eeprom read @ AC ...
[0011.994] E> I2C: slave not found in slaves.
[0011.998] E> I2C: Could not write 0 bytes to slave: 0x00ac with repeat start true.
[0012.005] E> I2C_DEV: Failed to send register address 0x00000000.
[0012.011] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xac at 0x00000000 via instance 0.
[0012.020] E> eeprom: Failed to read I2C slave device
[0012.025] I> Failed to read CVB eeprom data @ AC
[0012.037] I> Relocating OP-TEE dtb from: 0x6bfffc10 to 0x70050000, size: 1008
[0012.038] I> [0] START: 0x80000000, SIZE: 0x47af0000
[0012.041] I> [1] START: 0xca000000, SIZE: 0x800000
[0012.046] I> dram_block larger than 80000000
[0012.050] I> [2] START: 0x100000000, SIZE: 0x180000000
[0012.059] I> Setting NS memory ranges to OP-TEE dtb finished.
[0012.063] I> found decompressor handler: lz4
[0012.449] I> EKB detected (length: 0x410) @ VA:0x526fa200
[0012.450] I> Setting EKB blob info to OPTEE dtb finished.
��NOTICE: BL31: v2.6(release):l4t-r35.6.1
NOTICE: BL31: Built : 2025-03-04 09:24:44
I/TC: Physical secure memory base 0xcb040000 size 0xf00000
��
bpmp: init
bpmp: tag is 128431eec76692047e1ac1ebc0392266
sku_dt_init: not sku 0x00
clk_early initialized
mail_early initialized
fuse initialized
hwwdt initialized
t194_ec_get_ec_list: found 45 ecs
ec initialized
vmon_setup_monitors: found 3 monitors
vmon initialized
adc initialized
fmon_populate_monitors: found 73 monitors
fmon initialized
mc initialized
reset initialized
nvhs initialized
uphy_early initialized
emc_early initialized
392 clocks registered
clk initialized
io_dpd initialized
thermal initialized
thermal_mrq initialized
i2c initialized
vrmon_dt_init: vrmon node not found
vrmon_chk_boot_state: found 0 rail monitors
vrmon initialized
regulator initialized
avfs_clk_platform initialized
soctherm initialized
aotag initialized
powergate initialized
dvs initialized
pm initialized
suspend initialized
pg_late initialized
pg_mrq_init initialized
strap initialized
nvl initialized
emc initialized
emc_mrq initialized
clk_dt initialized
tj_init initialized
/uphy is not enabled status = disabled
uphy_dt initialized
uphy_mrq initialized
uphy initialized
ec_swd_poll_start: 281 reg polling start w period 47 ms
ec_late initialized
hwwdt_late initialized
reset_mrq initialized
ec_mrq initialized
fmon_mrq initialized
clk_mrq initialized
avfs_mrq initialized
mail_mrq initialized
i2c_mrq initialized
tag_mrq initialized
console_mrq initialized
mrq initialized
clk_sync_fmon_post initialized
��I/TC:
��clk_dt_late initialized
noc_late initialized
pm_post initialized
dbells initialized
dmce initialized
cvc initialized
avfs_clk_mach_post initialized
avfs_clk_platform_post initialized
cvc_late initialized
regulator_post initialized
rm initialized
console_late initialized
clk_dt_post initialized
mc_reg initialized
pg_post initialized
profile initialized
fuse_late initialized
extras_post initialized
entering main console loop
] bpmp: init complete
��I/TC: Non-secure external DT found
I/TC: OP-TEE version: 3.22 (gcc version 13.3.0 (GCC)) #1 Tue Mar 4 09:57:51 UTC 2025 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: Primary CPU switching to normal world boot
��
[0013.138] I> Welcome to TBoot-CPU Recovery
[0013.139] I> Heap: [0xa0f00000 ... 0xa9f00000
[0013.139] I> gpio framework initialized
[0013.158] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio' driver
[0013.165] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio-aon' driver
[0013.166] I> tegrabl_tca9539_init: i2c bus: 1, slave addr: 0x46
[0013.174] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0013.182] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0013.183] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0013.183] I> tegrabl_tca9539_init: i2c bus: 1, slave addr: 0x44
[0013.190] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0013.198] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0013.198] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0013.210] I> fixed regulator driver initialized
[0013.411] I> CPU: Nvidia Carmel
[0013.411] I> CPU: MIDR: 0x4e0f0040, MPIDR: 0x80000000
[0013.412] I> Platform: Silicon
[0013.412] I> chip revision : A02P
[0013.412] I> Boot_device: QSPI_FLASH instance: 0
[0013.412] I> qspi flash-0 params source = boot args
[0013.414] I> QSPI source rate = 204000 Khz
[0013.414] I> Requested rate for QSPI clock = 12000 Khz
[0013.418] I> BPMP-set rate for QSPI clk = 12000 Khz
[0013.428] I> QSPI-0l initialized successfully
[0013.428] I> sdmmc-3 params source = safe params
[0013.849] I> sdmmc DDR50 mode
[0013.872] I> Found 41 partitions in QSPI_FLASH (instance 0)
[0013.889] W> Cannot find any partition table for 00000003
[0013.889] > PARTITION_MANAGER: Failed to publish partition.
[0013.902] I> Found 23 partitions in SDMMC_USER (instance 3)
[0013.903] I> Recovery boot_type: 0
[0013.903] I> Entering 3p server
[0013.903] I> USB configuration success
[0014.448] I> Populate storage info
[0014.539] I> Erasing device 3: 0
[0014.539] I> QSPI: Erasing entire device
[0077.545] I> Writing device 3: 0.
[0077.677] I> Found 41 partitions in QSPI_FLASH (instance 0)
[0077.679] I> Erasing device 1: 3
[0078.076] I> Writing device 1: 3.
[0078.083] I> Writing device 1: 3.
[0078.103] I> Found 23 partitions in SDMMC_USER (instance 3)
[0078.104] I> Writing device 1: 3.
[0078.124] I> Found 23 partitions in SDMMC_USER (instance 3)
[0078.126] I> Writing mb1 partition.
[0079.881] I> Writing mb1_b partition.
[0081.634] I> Writing spe-fw partition.
[0082.305] I> Writing mb2 partition.
[0083.766] I> Writing mts-preboot partition.
[0083.937] I> Writing mts-mce partition.
[0084.959] I> Writing mts-proper partition.
[0109.051] I> Writing sc7 partition.
[0109.441] I> Writing xusb-fw partition.
[0110.357] I> Writing cpu-bootloader partition.
[0133.426] I> Writing bootloader-dtb partition.
[0135.841] I> Writing secure-os partition.
[0143.583] I> Writing eks partition.
[0143.625] I> Writing adsp-fw partition.
[0146.410] I> Writing rce-fw partition.
[0150.123] I> Writing bpmp-fw partition.
[0157.182] I> Writing bpmp-fw-dtb partition.
[0157.485] I> Writing spe-fw_b partition.
[0158.154] I> Writing mb2_b partition.
[0159.612] I> Writing mts-preboot_b partition.
[0159.783] I> Writing mts-mce_b partition.
[0160.804] I> Writing mts-proper_b partition.
[0184.922] I> Writing sc7_b partition.
[0185.312] I> Writing xusb-fw_b partition.
[0186.217] I> Writing cpu-bootloader_b partition.
[0209.273] I> Writing bootloader-dtb_b partition.
[0211.688] I> Writing VER_b partition.
[0211.711] I> Writing VER partition.
[0211.717] I> Writing device 1: 3.
[0211.724] I> Writing APP partition.
[0240.807] I> Writing APP_b partition.
[0269.498] I> Writing kernel partition.
[0271.960] I> Writing kernel-dtb partition.
[0271.995] I> Writing secure-os_b partition.
[0272.069] I> Writing eks_b partition.
[0272.091] I> Writing adsp-fw_b partition.
[0272.129] I> Writing rce-fw_b partition.
[0272.172] I> Writing bpmp-fw_b partition.
[0272.235] I> Writing bpmp-fw-dtb_b partition.
[0272.256] I> Writing kernel_b partition.
[0274.569] I> Writing kernel-dtb_b partition.
[0274.603] I> Writing esp partition.
[0279.005] I> Writing UDA partition.
[0279.037] E> NV3P_SERVER: Could not write 1048576 bytes.
I feel like I lost a bit of space with Scarthgap:
Adds several mandatory EFI partitions:
esp, esp_alt,
recovery, recovery_alt, RECROOTFS
uefi_variables, uefi_ftw
Approximately 300 to 400 MiB more taken up in the layout compared to honister.
I tried truncating the size of my image but nothing works.
always the same error:
[0279.005] I> Writing UDA partition.
[0279.037] E> NV3P_SERVER: Could not write 1048576 bytes.
Attached my flash.xml.in
<?xml version='1.0' encoding='UTF-8'?><partition_layout version=“01.00.0000”>
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
131072
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
Required. Contains Boot Configuration Table (BCT).
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
262144
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
mb1_t194_prod.bin
Required. Chain A; contains NVIDIA signed MB1 binary.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
262144
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
mb1_b_t194_prod.bin
Required. Chain B; contains NVIDIA signed MB1 binary.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
65536
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
Required. Chain A; contains MB1 boot configuration table.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
262144
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
Required. Chain A; contains memory configuration table.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
262144
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
spe_t194.bin
Required. Chain A; contains BPMP SPE-FW binary.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
262144
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
nvtboot_t194.bin
Required. Chain A; contains TegraBoot binary.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
65536
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
preboot_c10_prod_cr.bin
Required. Chain A; contains Denver preboot firmware.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
196608
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
mce_c10_prod_cr.bin
Required. Chain A; contains microcode associated with boot, power
management, and clocks.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
4194304
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
mts_c10_prod_cr.bin
Required. Chain A; contains microcode associated with execution
and optimization of ARM code.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
131072
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
warmboot_t194_prod.bin
Required. Chain A; contains warm boot firmware.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
196608
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
xusb_sil_rel_fw
Required. Chain A; contains XUSB firmware file, making XUSB
a true USB 3.0 compliant host controller.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
4194304
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
uefi_jetson.bin
Required. Chain A; contains UEFI, the final boot stage CPU Bootloader
binary that loads the binary in the kernel partition.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
458752
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
TBCDTB-FILE
Required. Chain A; contains Bootloader device tree blob
(DTB).
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
2621440
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
tos-optee_t194.img
Required. Chain A; contains the trusted OS.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
65536
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
eks.img
Required. Chain A; contains the encrypted keys.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
1048576
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
adsp-fw.bin
Required. Chain A; contains ADSP software.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
1048576
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved>
camera-rtcpu-t194-rce.img
Required. Chain A; containscamera-rtcpu-rce
firmware.
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
1048576
<align_boundary> 65536 </align_boundary>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
<percent_reserved> 0 </percent_reserved><description> **Required.** Contains `camera-rtcpu-sce` firmware. </description> </partition> <partition name="bpmp-fw" type="bpmp_fw" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 1572864 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> bpmp-2_t194.bin </filename> <description> **Required.** Chain A; contains BPMP firmware. </description> </partition> <partition name="bpmp-fw-dtb" type="bpmp_fw_dtb" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 1048576 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> BPFDTB_FILE </filename> <description> **Required.** Chain A; contains BPMP firmware device tree blob (DTB). </description> </partition> <partition name="reserved_for_chain_A_boot" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 2097152 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Reserved space for chain A on boot device. </description> </partition> <partition name="MB1_BCT_b" type="mb1_boot_config_table"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <start_location> 0x1480000 </start_location> <size> 65536 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Chain B; contains MB1 boot configuration table. </description> </partition> <partition name="MEM_BCT_b" type="mem_boot_config_table"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 262144 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Chain B; contains memory configuration table. </description> </partition> <partition name="spe-fw_b" type="spe_fw" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 262144 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> spe_t194.bin </filename> <description> **Required.** Chain B; contains BPMP SPE-FW binary. </description> </partition> <partition name="mb2_b" type="mb2_bootloader" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 262144 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> nvtboot_t194.bin </filename> <description> **Required.** Chain B; contains TegraBoot binary. </description> </partition> <partition name="mts-preboot_b" type="mts_preboot" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 65536 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> preboot_c10_prod_cr.bin </filename> <description> **Required.** Chain B; contains Denver preboot firmware. </description> </partition> <partition name="mts-mce_b" type="mts_mce" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 196608 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> mce_c10_prod_cr.bin </filename> <description> **Required.** Chain B; contains microcode associated with boot, power management, and clocks. </description> </partition> <partition name="mts-proper_b" type="mts_proper" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 4194304 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> mts_c10_prod_cr.bin </filename> <description> **Required.** Chain B; contains microcode associated with execution and optimization of ARM code. </description> </partition> <partition name="sc7_b" type="WB0" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 131072 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> warmboot_t194_prod.bin </filename> <description> **Required.** Chain B; contains warm boot firmware. </description> </partition> <partition name="xusb-fw_b" type="xusb_fw"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 196608 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> xusb_sil_rel_fw </filename> <description> **Required.** Chain B; contains XUSB firmware file, making XUSB a true USB 3.0 compliant host controller. </description> </partition> <partition name="cpu-bootloader_b" type="bootloader_stage2" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 4194304 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> uefi_jetson.bin </filename> <description> **Required.** Chain B; contains UEFI, the final boot stage CPU Bootloader binary that loads the binary in the kernel partition. </description> </partition> <partition name="bootloader-dtb_b" type="bl_dtb" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 458752 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> TBCDTB-FILE </filename> <description> **Required.** Chain B; contains Bootloader device tree blob (DTB). </description> </partition> <partition name="reserved_for_chain_B_boot" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 655360 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Reserved space for chain B on boot device. </description> </partition> <partition name="uefi_variables" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <start_location> 0x1EF0000 </start_location> <size> 131072 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains UEFI variable store with configuration data. </description> </partition> <partition name="uefi_ftw" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 196608 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains UEFI FTW storage. </description> </partition> <partition name="BCT-boot-chain_backup" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <start_location> 0x1FA0000 </start_location> <size> 65536 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains backup of Boot Configuration Table (BCT) for all boot chains. </description> </partition> <partition name="reserved_partition" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 65536 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> </partition> <partition name="secondary_gpt_backup" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 65536 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains backup for secondary GPT of the `spi` device. </description> </partition> <partition name="VER_b" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <start_location> 0x1FD0000 </start_location> <size> 65536 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <partition_attribute> 0 </partition_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> VERFILE </filename> <description> **Required.** Contains BSP version information. </description> </partition> <partition name="VER" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 65536 </size> <align_boundary> 65536 </align_boundary> <file_system_attribute> 0 </file_system_attribute> <partition_attribute> 0 </partition_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> VERFILE </filename> <description> **Required.** Contains BSP version information. </description> </partition> <partition name="secondary_gpt" type="secondary_gpt"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 0xFFFFFFFFFFFFFFFF </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains secondary GPT of the `spi` device. </description> </partition> </device> <device type="sdmmc_user" instance="3" sector_size="512" num_sectors="30777344"> <partition name="master_boot_record" type="protective_master_boot_record"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 512 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains protective MBR. </description> </partition> <partition name="primary_gpt" type="primary_gpt"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 19968 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains primary GPT of the `sdmmc_user` device. All partitions defined after this entry are configured in the kernel, and are accessible by standard partition tools such as gdisk and parted. </description> </partition> <partition name="APP" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 5233442816 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x8 </allocation_attribute> <align_boundary> 4096 </align_boundary> <percent_reserved> 0 </percent_reserved> <filename> APPFILE </filename> <unique_guid> </unique_guid> <description> **Required.** Contains the rootfs. This partition must be defined after `primary_GPT` so that it can be accessed as the fixed known special device `/dev/mmcblk0p1`. </description> </partition> <partition name="APP_b" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 5233442816 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x8 </allocation_attribute> <align_boundary> 4096 </align_boundary> <percent_reserved> 0 </percent_reserved> <filename> APPFILE_b </filename> <unique_guid> </unique_guid> <description> **Required.** Contains the rootfs. This partition must be defined after `primary_GPT` so that it can be accessed as the fixed known special device `/dev/mmcblk0p2`. </description> </partition> <partition name="kernel" type="kernel"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 67108864 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> boot.img </filename> <description> **Required.** Chain A; contains boot.img (kernel, initrd, etc) which is loaded in when cpu-bootloader failes to launch the kernel from the rootfs at `/boot`. </description> </partition> <partition name="kernel-dtb" type="kernel_dtb"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 458752 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> DTB_FILE </filename> <description> **Required.** Chain A; contains kernel device tree blob. </description> </partition> <partition name="reserved_for_chain_A_user" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 34123776 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Reserved space for chain A. </description> </partition> <partition name="secure-os_b" type="tos" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <start_location> 0x386100000 </start_location> <size> 2621440 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> tos-optee_t194.img </filename> <description> **Required.** Chain B; contains the trusted OS. </description> </partition> <partition name="eks_b" type="eks" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 65536 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> eks.img </filename> <description> **Required.** Chain B; contains the encrypted keys. </description> </partition> <partition name="adsp-fw_b" type="ape_fw" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 1048576 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> adsp-fw.bin </filename> <description> **Required.** Chain B; contains ADSP software. </description> </partition> <partition name="rce-fw_b" type="rce_fw" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 1048576 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> camera-rtcpu-t194-rce.img </filename> <description> **Required.** Chain B; contains `camera-rtcpu-rce` firmware. </description> </partition> <partition name="sce-fw_b" type="sce_fw" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 1048576 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains `camera-rtcpu-sce` firmware. </description> </partition> <partition name="bpmp-fw_b" type="bpmp_fw" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 1572864 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> bpmp-2_t194.bin </filename> <description> **Required.** Chain B; contains BPMP firmware. </description> </partition> <partition name="bpmp-fw-dtb_b" type="bpmp_fw_dtb" oem_sign="true"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 1048576 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> BPFDTB_FILE </filename> <description> **Required.** Chain B; contains BPMP firmware device tree blob (DTB). </description> </partition> <partition name="kernel_b" type="kernel"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 67108864 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> boot.img </filename> <description> **Required.** Chain B; contains boot.img (kernel, initrd, etc) which is loaded in when cpu-bootloader failes to launch the kernel from the rootfs at `/boot`. </description> </partition> <partition name="kernel-dtb_b" type="kernel_dtb"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 458752 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> DTB_FILE </filename> <description> **Required.** Chain B; contains kernel device tree blob. </description> </partition> <partition name="reserved_for_chain_B_user" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 34078720 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Reserved space for chain B. </description> </partition> <partition name="recovery" type="kernel"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <start_location> 0x38CA00000 </start_location> <size> 83886080 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains recovery image. </description> </partition> <partition name="recovery-dtb" type="kernel_dtb"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 524288 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains recovery DTB image. </description> </partition> <partition name="RECROOTFS" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 104857600 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Optional.** Reserved for future use by the recovery filesystem; removable. </description> </partition> <partition name="esp" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 67108864 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> esp.img </filename> <partition_type_guid> C12A7328-F81F-11D2-BA4B-00A0C93EC93B </partition_type_guid> <description> **Required.** EFI system partition with L4T Launcher. </description> </partition> <partition name="recovery_alt" type="kernel"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 83886080 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** For fail-safe recovery update. </description> </partition> <partition name="recovery-dtb_alt" type="kernel_dtb"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 524288 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** For fail-safe recovery DTB update. </description> </partition> <partition name="esp_alt" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 67108864 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** EFI system partition for fail-safe ESP update. </description> </partition> <partition name="UDA" type="data"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 18432 </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 0x808 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <filename> DATAFILE </filename> <description> **Required.** Automatically takes all remaining space on the device except that occupied by the `secondary_gpt` partition. Allocation attribute must be set to 0x808. May be mounted and used to store user data. </description> </partition> <partition name="secondary_gpt" type="secondary_gpt"> <allocation_policy> sequential </allocation_policy> <filesystem_type> basic </filesystem_type> <size> 0xFFFFFFFFFFFFFFFF </size> <file_system_attribute> 0 </file_system_attribute> <allocation_attribute> 8 </allocation_attribute> <percent_reserved> 0 </percent_reserved> <description> **Required.** Contains secondary GPT of the `sdmmc_user` device. </description> </partition> </device>
</partition_layout>