NVIDIA Tegra
NVIDIA Tegra Linux Driver Package

Development Guide
32.2 Release


 
Partition Configuration
 
Families of Platforms
Partition Configuration File
Root Element
Device Element
Partition Element
Default Partition Overview
Jetson AGX Xavier and Jetson TX2 Series
Jetson Nano (SKU 0000)
NVIDIA® Tegra® Linux Drive Package (L4T) supports formatting mass storage media into multiple partitions for storing data, such as the device OS image, Bootloader image, device firmware, and Bootloader splash screens.
Families of Platforms
Certain Jetson platforms have identical partition configuration characteristics. This topic discusses such platforms together, describing them as a family. Supported platforms are grouped in the following families:
Family
Includes platforms
Jetson TX1 series
NVIDIA® Jetson Nano™ (SKU 0020, for production)
NVIDIA® Jetson™ TX1
Jetson TX2 series
NVIDIA® Jetson™ TX2
Jetson TX2i
Jetson TX2 4GB
NVIDIA® Jetson AGX Xavier™
NVIDIA® Jetson Nano (SKU 0000, for development with Jetson Nano Developer Kit)
Partition Configuration File
The partition configuration file describes all of the mass storage devices and partitions in a platform. For L4T 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:
NVIDIA® Jetson Nano (SKU 0000):
NVIDIA® Jetson AGX Xavier: flash_t194_sdmmc.xml
NVIDIA® Jetson™ TX2 series : flash_l4t_t186.xml
NVDIA® Jetson™ TX1 family: gnu_linux_tegraboot_emmc_full.xml
During the flashing procedure, flash.sh reads in the partition configuration file, translates keywords into values specified in <device>.conf or in option parameters and saves the data in bootloader/flash.xml. Then bootloader/tegraflash.py reads in bootloader/flash.xml and performs actual flashing as specified by bootloader/flash.xml.
For details, see List of Translated Keywords.
The partition configuration file is composed of the following XML format elements:
Root element
Device elements (Jetson TX2 series only)
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
For the Jetson TX2 series, the partition configuration file contains a device element for each subdevice; for example, for the eMMC boot and user hardware partitions. This element must be present even if the devices are not divided into subdevices.
For the Jetson TX1 family, the partition configuration file does not contain any device elements; all partition definitions appear directly in the root element. When the storage medium is divided into multiple subdevices, for example in the eMMC boot and user hardware partitions, the subdevices are treated as if they are a single linear device spanning all of the subdevices.
The root element may contain multiple device elements. Each has following syntax:
<device type="<device type>" instance="<instance>">
<!-- Partition elements go here. -->
</device>
Device Attributes Table
The following table describes supported device attributes and their legal values.
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.
Specifies the device instance:
0 for SATA
3 (typically) for eMMC
Partition Element
A device element for a platform in the Jetson TX2 or Jetson TX1 series may contain multiple partition elements. Each has the following syntax:
<partition name="<name>" type="<type>" oem_sign=”true”>
<!-- partition properties go here -->
</partition>
Partition Element Attributes
This table describes the attributes supported for partition elements and their legal values.
Attribute
Values
Description
name
Required.
Specifies a name for the partition. The name can have a maximum of 36 characters. There are three 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
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 unspecified
Jetson TX2 series only.
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 tables below list keywords that may appear in the partition configuration file and the value allowed for each keyword.
Keywords and their values for Jetson AGX Xavier
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
 
Keywords and their values for Jetson TX2 series
Keyword
Default translated value in flash.xml
MB1NAME
mb1
MB1TYPE
mb1_bootloader
SPENAME
spe-fw
SPETYPE
spe_fw
MB2NAME
mb2
MB2TYPE
mb2_bootloader
MB2FILE
nvtboot.bin
MPBNAME
mts-preboot
MPBTYPE
mts_preboot
MPBFILE
preboot_d15_prod_cr.bin
APPSIZE
30064771072
APPFILE
system.img
MBPNAME
mts-bootpack
MBPTYPE
mts_bootpack
MBPFILE
mce_mts_d15_prod_cr.bin
TBCNAME
cpu-bootloader
TBCTYPE
bootloader
TBCFILE
cboot.bin
TBCDTB-NAME
bootloader-dtb
TBCDTB-FILE
Appropriate Bootloader DTB file name
TOSNAME
secure-os
TOSFILE
tos.img
EKSFILE
eks.img
BPFNAME
bpmp-fw
BPFSIGN
true
BPFFILE
bpmp.bin
BPFDTB-NAME
bpmp-fw-dtb
BPFDTB-SIGN
true
BPFDTB-FILE
Appropriate bpmp DTB file name
SCENAME
sce-fw
Default Partition Overview
The tables in this section describe partition use for the boot device on each supported platform.
Note:
Each table’s “Description” column identifies required partitions. Partitions that are not identified as “Required” are optional.
Jetson AGX Xavier and Jetson TX2 Series
These tables describe partition use for the devices on Jetson AGX Xavier and members of the Jetson TX2 series.
Jetson AGX Xavier and Jetson TX2 series, sdmmc_boot partition usage
Name
Type
Supported in
Description
AGX Xavier
TX2 series
BCT
boot_config_table
X
X
Required.
Contains Boot Configuration Table.
mb1
mb1_bootloader
X
X
Required.
Contains NVIDIA signed MB1 binary.
MB1_BCT
mb1_boot_config_table
X
X
Required.
Contains MB1 boot configuration table.
MEM_BCT
mem_boot_config_table
X
 
Required.
Contains memory configuration table.
spe-fw
spe-fw
X
X
Contains BPMP spe-fw binary.
mb2
mb2_bootloader
X
X
Contains primary copy of the TegraBoot binary.
mts-preboot
mts_preboot
X
X
Contains Denver preboot firmware.
SMD
smd
X
 
Contains slot status for A/B boot and A/B update.
secondary_gpt
secondary_gpt
X
X
Contains the secondary GPT of sdmmc_boot device.
 
Jetson AGX Xavier and Jetson TX2 series, sdmmc_user partition usage
Name
Type
Supported in
Description
AGX Xavier
TX2 series
master_boot_record
protective_master_boot_record
X
X
Required.
Contains protective MBR.
primary_gpt
primary_gpt
X
X
Required.
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
X
X
Required.
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
X
 
Required.
Contains microcode associated with boot, power management, and clocks for the machine.
mts-proper
mts_proper
X
 
Required.
Contains microcode associated with execution and optimization of ARM® code.
mts-bootpack
mts_bootpack
 
X
Required.
Contains Denver boot pack firmware.
cpu-bootloader
bootloader
X
X
Required.
Contains the final boot stage CPU Bootloader binary that loads the binary in kernel partition.
bootloader-dtb
data
X
X
Required.
Contains the Bootloader device tree blob (DTB).
secure-os
data
X
X
Required.
Contains the trusted OS.
eks
data
X
X
Optional.
Contains the encrypted keys.
adsp-fw
data
 
X
Required.
Contains ADSP software.
bpmp-fw
data
X
X
Required.
Contains BPMP firmware.
bpmp-fw-dtb
data
X
X
Required.
Contains the BPMP firmware device tree blob (DTB).
xusb-fw
Data
X
 
Required.
Contains XUSB module’s firmware file, making XUSB a true USB 3.0 compliant host controller.
rce-fw
data
X
 
Contains camera-rtcpu-rce firmware.
adsp-fw
data
X
 
Contains ADSP software.
sce-fw
data
X
X
Contains camera-rtcpu-sce firmware.
sc7
WB0
X
X
Required.
Contains warm boot binary.
FBNAME
data
 
X
Reserved for future use; removable.
BMP
data
X
X
Contains BMP images (if any.
for display during boot.
SOS
data
 
X
contains a partition used for recovery; removable.
kernel
data
X
X
Required.
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 U‑Boot is not selected during flashing, this partition contains the Linux kernel.
kernel-dtb
data
X
X
Required.
Contains the kernel device tree blob.
CAC
data
 
X
Reserved for future use; removable.
CPUBL-CFG
data
X
 
Contains boot device selection priority list.
RP1
data
X
 
Reserved Partition. Can be mounted and used to store user data.
RP2
data
X
 
Reserved Partition. Can be mounted and used to store user data.
UDA
data
X
X
This partition, with the allocation attribute set to 0x808, automatically take all of remaining space on the device except secondary GPT space. This partition can be mounted and used to store user data.
secondary_gpt
secondary_gpt
X
X
Required.
Contains the secondary GPT of sdmmc_user device.
Jetson Nano (SKU 0000)
For Jetson Nano (SKU 0000), this table describes usage for each partition in the SD card device.
Jetson Nano (SKU 0000), SD card partition usage
Partition
Location
Partition / Purpose
Note
BCT
QSPI-NOR
Boot configuration table, DRAM timing
 
NVC
QSPI-NOR
Nvtboot Bootloader
Reads DTB from SD card
Passes DTB to nvtboot_cpu
PT
QSPI-NOR
Partition Table
 
PAD
QSPI-NOR
Move VER to end of QSPI-NOR
Empty padding
VER
QSPI-NOR
Firmware version field
<NV2>\n<BUILD INFO>\n<BOARDID> <BOARDSKU> <FAB>
APP
SD card
Root file system and kernel
 
TBC
SD card
nvtboot_cpu
Appends DDR timing info to DTB
RP1/DTB
SD card
Device Tree for BL/Kernel
Two copies (RP1 = BL-DTB, DTB = Kernel-DTB)
EBT
SD card
CBoot
Appends bootargs to DTB
Configures Pinmux from DTB
Passes DTB to U-Boot
WB0
SD card
Warmboot code
Used during resume
BPF
SD card
BPMP SC7 firmware
 
BPF-DTB
SD card
BPMP firmware DTB
Not used
FB
SD card
Fuse bypass
Not used
TOS
SD card
Trusted OS
 
LNX
SD card
U-Boot
Loads kernel from rootfs /boot
Launches kernel
EKS
SD card
Encryption key
BMP
SD card
BMP blob
Displayed to HDMI during boot splash
RP4
SD card
XUSB firmware
GPT
SD card
GPT header