NVIDIA Tegra
NVIDIA Tegra Linux Driver Package

Development Guide
31.1 Release


 
Jetson AGX Xavier Mass Storage Partitions Configuration
 
Partition Configuration File
Default Partition Overview
NVIDIA® Linux® for Tegra® Jetson AGX Xavier™ releases support formatting mass storage media into multiple partitions for storing data, such as the device OS image, boot loader image, device firmware, and boot loader splash screens.
Partition Configuration File
The partition configuration file describes the entire mass storage devices and partitions in devices. For Linux® for Tegra® releases the default partition configuration file directory is available at:
<top>/Linux_for_Tegra/bootloader/t186ref/cfg/
The filename is specified in <device>.conf; typical values for systems booting from eMMC are:
Jetson AGX Xavier: flash_t194_sdmmc.xml
During the flashing procedure, flash.sh reads in the partition configuration file and translated keywords into values specified in <device>.conf or in option parameters and saves it in bootloader/flash.xml file. Then, the bootloader/tegraflash.py reads in bootloader/flash.xml file and performs actual flashing as specified by bootloader/flash.xml file.
For details, see List of Translated Keywords.
The partition configuration file is composed of the following XML format elements:
Root element
Device elements
Partition elements
Root Element
The root element in a configuration file has following syntax:
<?xml version="1.0"?>
 
<!-- NVIDIA Tegra Partition Layout Version 1.0.0 -->
 
<partition_layout version="01.00.0000">
<!-- Device elements go here. -->
</partition>
Device Element
The Jetson AGX Xavier partition configuration file contains a device element for each sub-device; for example in the eMMC boot and user hardware partitions. This element must be present even if the devices are not divided into sub-devices.
There may be multiple device elements in the root element and each has following syntax:
<device type="<device type>" instance="<instance>">
<!-- Partition elements go here. -->
</device>
Device Attributes Table: The supported device attributes, and their legal values, are as follows.
Device Attributes
Values
Description
device type
 
sdmmc_boot
sdmmc_user
sata
(Required) Specifies the type of device.
eMMC boot0 and boot1 hardware partitions are treated as a single sdmmc_boot entry.
Instance
0-3
(Required) the device instance.
0 for SATA.
3 is typical for eMMC.
Partition Element
There may be multiple partition elements within a device element. Each has the following syntax:
<partition name="<name>" type="<type>" oem_sign=”true”>
<!-- partition properties go here -->
</partition>
Partition Element Attributes: The supported attributes for partition elements, and their legal values, are as follows.
Attribute
Values
Description
name
For a complete list of pre-defined names, see the Default Partition Overview.
(Required) Specifies a name for the partition. The name can have a maximum of 36 characters. There are 3 kinds of partitions: mandatory, optional, and user defined. All mandatory and optional partition names must be associated with the specific partition type. All user specified partition names must be associated with partition type “data”.
Type
For a complete list of types, see the Default Partition Overview.
(Required) Specifies the type of partition. Certain partition types are valid only when they are associated with specific partition names.
oem_sign
True
False
or attribute not present
Append generic signature header to the binary and perform OEM signing on that.
Append NULL signature header to the binary and perform NULL signing on that.
Partition Element Child Elements: The supported partition element child elements and their legal values are as follows.
Element
Values
Description
allocation_policy
sequential
Specifies the type of allocation policy. Sequential partitions begin immediately after the preceding partition. (The legacy “absolute” allocation policy has been deprecated.)
filesystem_type
basic
The basic filesystem_type specifies “raw” partition. (The legacy “ext2” filesystem has been deprecated.)
Size
<byte size>
(Required) Specifies the size of the partition in bytes. Decimal and hexadecimal values are valid.
The partition size may be equal to or larger than the size of the file to be written to the partition. Specifying a larger size allows the file size to increase later without requiring the partition configuration file to be modified.
If the partition size specified is less than an erase block size, it will align itself to the partition erase block boundary.
The size property of the secondary GPT partition, which is defined at the end of each device, must always be 0xffffffffffffffff. Tegraflash calculates the size automatically, the preceding partition is extended to fill any free space before the secondary GPT.
file_system_attribute
0
Not implemented.
allocation_attribute
0x8
0x808
Must be 0x808 for the partition immediately preceding the secondary GPT.
percent_reserved
0
Reserved for future use.
Filename
<filename>
or empty
Specifies the name of the file to write into the partition. If the filename is empty, no data is written to the partition.
List of Translated Keywords: The list of keywords that may appear in the partition configuration file, and the value for each keyword, is as follows:
Keyword
Default translated value in flash.xml
MB1FILE
mb1_t194_prod.bin
SPEFILE
spe_t194.bin
TEGRABOOT
nvtboot_t194.bin
MTSPREBOOT
Preboot_c10_prod_cr.bin
APPSIZE
30064771072
APPFILE
system.img
MTS_MCE
mce_c10_prod_cr.bin
MTSPROPER
mts_c10_prod_cr.bin
TBCFILE
Cboot_t194.bin
TBCDTB-FILE
Appropriate bootloader DTB file name
TOSFILE
Tos_t194.img
EKSFILE
eks.img
BPFFILE
bpmp_t194.bin
BPFDTB-FILE
Appropriate bpmp DTB file name
CAMERAFW
camera-rtcpu-rce.bin
WBOBOOT
warmboot_t194_prod.bin
LNXSIZE
67108864
LNXFILE
boot.img
DTB_FILE
Appropriate kernel DTB file name
CBOOTOPTION_FILE
Appropriate CBoot boot option file name; default is cbo.dtb
Default Partition Overview
The Jetson AGX Xavier usage for each partition in sdmmc_boot device is as follows:
Name
Type
Description
BCT
boot_config_table
(Mandatory) Contains the Boot Configuration Table.
mb1
mb1_bootloader
(Mandatory) Contains NVIDIA signed MB1 binary.
MB1_BCT
mb1_boot_config_table
(Mandatory) Contains the MB1 boot configuration table.
MEM_BCT
mem_boot_config_table
(Mandatory) Contains memory configuration table.
spe-fw
spe-fw
Contains the BPMP spe-fw binary.
mb2
mb2_bootloader
Contains the primary copy of the TegraBoot binary.
mts-preboot
mts_preboot
Contains Denver preboot firmware.
SMD
smd
Contains slots status for A/B boot and A/B update.
secondary_gpt
secondary_gpt
Contains the secondary GPT of sdmmc_boot device.
The usage for each partition in sdmmc_user device is as follows:
Name
Type
Description
master_boot_record
protective_master_boot_record
(Mandatory) Contains protective MBR.
primary_gpt
primary_gpt
(Mandatory) Contains the primary GPT of sdmmc_user device. All partition defined after this entry will be configured in kernel and accessible by standard partition tools such as gdisk or parted.
APP
data
(Mandatory) Contains the RootFS. This partition must be defined after primary GPT, so that it can be accessed as fixed known special device /dev/mmcblk0p1.
mts-mce
mts_mce
(Mandatory) Contains microcode associated with boot, power management, and clocks for the machine.
mts-proper
mts_proper
(Mandatory) Contains microcode associated with execution and optimization of ARM® code.
cpu-bootloader
bootloader
(Mandatory) Contains the final boot stage CPU bootloader binary that loads the binary in kernel partition.
bootloader-dtb
data
(Mandatory) Contains the bootloader device tree blob.
secure-os
data
(Mandatory) Contains the trusted OS.
Eks
data
(Optional) Contains the encrypted keys.
bpmp-fw
data
(Mandatory) Contains BPMP firmware.
bpmp-fw-dtb
data
(Mandatory) Contains the BPMP firmware device tree blob.
xusb-fw
Data
(Mandatory) Contains XUSB module’s firmware file, making XUSB a true USB 3.0 compliant host controller.
rce-fw
data
(Optional) Contains camera-rtcpu-rce firmware.
adsp-fw
data
(Optional) Contains ADSP software.
sce-fw
data
(Optional) Contains camera-rtcpu-sce firmware.
sc7
WB0
(Mandatory) Contains warm boot binary.
BMP
data
(Optional) Contains BMP images (if any) for display during boot.
Kernel
data
(Mandatory) Contains the U-Boot secondary bootloader by default. The U-Boot searches the root device and loads the Linux kernel from rootdev’s /boot directory. If the U-Boot is not selected during flashing, this partition contains the Linux kernel.
kernel-dtb
data
(Mandatory) Contains the kernel device tree blob.
CPUBL-CFG
data
(Optional) Contains boot device selection priority list.
RP1
data
(Optional) Reserved Partition. Can be mounted and used to store user data.
RP2
data
(Optional) Reserved Partition. Can be mounted and used to store user data.
UDA
data
(Optional) This partition, with the allocation attribute set to 0x808, automatically take all of remaining space of the device except secondary GPT space. This partition can be mounted and used to store user data.
secondary_gpt
secondary_gpt
(Mandatory) Contains the secondary GPT of sdmmc_user device.