Partition Configuration — NVIDIA Jetson Linux Developer Guide 1 documentation (original) (raw)
NVIDIA® Jetson™ Linux supports formatting mass storage media into multiple partitions for storing data, such as the device OS image, bootloader image, device firmware, and bootloader splash screen.
How Jetson Partition Configurations Are Described
Some Jetson platforms have similar characteristics, such as identical partition configurations. This topic groups these platforms and provides information about each group. The supported platforms are grouped in the following way:
Group | Includes platforms |
---|---|
NVIDIA® Jetson AGX Orin™ series | Jetson AGX Orin 32GB (P3701-0000, for development only) Jetson AGX Orin 32GB (P3701-0004) Jetson AGX Orin 64GB (P3701-0005) Jetson AGX Orin Industrial (P3701-0008) |
NVIDIA® Jetson Orin™ NX series | Jetson Orin NX 16GB (P3767-0000) Jetson Orin NX 16GB (P3767-0001) |
NVIDIA® Jetson Orin™ Nano series | Jetson Orin Nano 8GB (P3767-0003) Jetson Orin Nano 4GB (P3767-0004) Jetson Orin Nano 8GB (P3767-0005, for development only) |
Partition Configuration Files
A partition configuration file describes the mass storage devices and partitions on a platform.
The following table describes the definitions of all of the partition configurations supported by Jetson Linux. The File column specifies the filename of the partition configuration file the defines the configuration, and the Device columns specify the <device>
block in that file that defines the configuration (refer to Element Tag Attributes for more information).
Platform & Configuration | Boot Partition Device | User Partition Device | File |
---|---|---|---|
Jetson AGX Orin Developer-Kit | QSPI_NOR | sdmmc_user on 32GB eMMC | flash_t234_qspi_sdmmc.xml |
Jetson Orin Nano Developer-Kit | QSPI-NOR | SD card/USB/NVMe drive | flash_t234_qspi_sd.xml |
Commercial Modules: Jetson AGX Orin 32GB (P3701-0004) Jetson AGX Orin 64GB (P3701-0005) Jetson AGX Orin Industrial (P3701-0008) | QSPI_NOR | sdmmc_user on eMMC | flash_t234_qspi_sdmmc.xml |
Commercial Modules: Jetson Orin 16GB (P3767-0000) Jetson Orin 8GB (P3767-0001) Jetson Orin 8GB (P3767-0003) Jetson Orin 4GB (P3767-0004) | QSPI_NOR | USB/NVMe drive | flash_t234_qspi_sd.xml |
Each file’s name typically incorporates its processor name (t234
or t234
), the type of memory the partitions are flashed to (sd
for SD Card, spi
for SPI, or emmc
for eMMC), and in some cases, the module’s part number, for example, p3668
).
During the flashing procedure, flash.sh
:
- Reads the partition configuration file
<device>.xml
- Translates keywords into values specified in
<device>.conf
or in command line options - Saves the translated data in
bootloader/flash.xml
bootloader/tegraflash.py
reads in bootloader/flash.xml
and flashes the device that was specified by bootloader/flash.xml
.
Refer to List of Translated Keywords for more information.
Format of a Partition Configuration File
Each partition configuration file defines one or more partition layouts for a specific configuration of a specific Jetson device. The file is composed of the following XML elements:
- A standard XML prolog.
- One or more
<partition_layout>
elements, each of which defines one partition layout. - In each
<partition_layout>
element, a<device>
element for each device, for example, each type of flashed memory, that the layout uses. - In each
<device>
element, a<partition>
element for each partition in that device’s partition layout. - In each
<partition>
element, a group of other elements that specify various properties of the partition.
<partition_layout> Element
The <partition_layout>
element has the following syntax:
Element
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.
The <device>
element has the following syntax:
Element Tag Attributes
The following table describes the <device>
tag’s attributes and their legal values.
Device attributes | Values | Description |
---|---|---|
device type | sdmmc_boot;sdmmc_user SPI;nvme | Required. Specifies the type of device. eMMC boot0 and boot1hardware partitions are treated as a single sdmmc_boot entry. |
instance | 0-3 | Required. Specifies the device instance: 0 for SPI or NVMe, or 3 (typically) for eMMC. |
Element
Each <partition>
element has the following syntax:
Element Tag Attributes
This table describes the attributes supported for partition elements and their legal values.
Device attributes | Values | |
---|---|---|
name | See the files listed in the table ofpartition configuration files. | 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-defined partition names must be associated with partition type data. |
type | See the files listed in the table ofpartition configuration files. | 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 Orin series only: If True, append a generic signature header to the binary and perform OEM signing on it. IfFalse, append a NULL signature header to the binary and perform NULL signing on it. |
Child Elements
The following tags specify the properties of a <partition>
element:
Tag | Values | Description |
---|---|---|
<allocation_policy> | sequential | Specifies the type of allocation policy. Sequential partitions begin immediately after the preceding partition. |
<filesystem_type> | basic | The filesystem_type value basic specifies a “raw” partition. (The legacy “ext2” file system has been deprecated.) |
<partition_size> | Required. Specifies the size of the partition in bytes. May be a decimal number or a hexadecimal number of up to 16 digits. The partition size may be equal to or greater than the size of the file to be written to the partition. Specifying a greater size allows you to increase the file size later without changing the partition configuration file. If the partition size is less than an erase block size, it aligns 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 this partition's size automatically; the preceding partition is extended to fill any free space before the secondary GPT. | |
<file_system_attribute> | 0 | Not implemented. |
<allocation_attribute> | 0x008 or 0x808. Must be 0x808 for the partition immediately preceding the secondary GPT. | |
<percent_reserved> | 0 | Reserved for future use. |
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 following table provides keywords that you can use as the text for some <partition>
child elements. When the partition configuration file processor encounters one of these keywords, it substitutes the value shown or described in the table.
Keyword | Default translated value in flash.xml |
---|---|
MB1FILE | mb1_t234_prod.bin |
SPEFILE | spe_t234.bin |
TEGRABOOT | nvtboot_t234.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 | uefi_jetson.bin |
TBCDTB-FILE | Appropriate bootloader DTB file name |
TOSFILE | tos_t234.img |
EKSFILE | eks.img |
BPFFILE | bpmp_t234.bin |
BPFDTB-FILE | Appropriate BPMP DTB file name |
CAMERAFW | camera-rtcpu-rce.bin |
WBOBOOT | warmboot_t234_prod.bin |
LNXSIZE | 67108864 |
LNXFILE | boot.img |
DTB_FILE | Appropriate kernel DTB file name |
RECFILE | Name of appropriate recovery kernel image |
RECDTB-FILE | Name of appropriate recovery kernel dtb file |
BOOTCTRL-FILE | kernel_bootctrl.bin |
External Storage Device Partition
To create a partition configuration file for flashing to an external storage device, start with a default SD card partition table as a template (for example, the Jetson AGX Orin development module sdmmc_user partition from the table ofpartition configuration files). Change the device type to nvme
, and the instance number to zero, as in the example below. An external partition configuration file must contain at least three partitions: master_boot_record
, primary_gpt
, and secondary_gpt
.
For both SCSI devices (e.g. SCSI flash drives and hard disk drives) and NVMe devices, for example NVMe SSDs, the device type is nvme
. You must also update num_sectors
to correctly specify the total amount of storage available on your external device. For example, if an NVMe device has 1024209543168 bytes available, you must change num_sectors
to 1024209543168/512 = 2000409264 sectors.