Partition Configuration ¶
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 ¶
Certain Jetson platforms have very similar characteristics, including identical partition configurations. This topic groups such platforms together and discusses each group. Supported platforms are grouped like this:
Group |
Includes platforms |
---|---|
NVIDIA ® Jetson AGX Orin™ series |
Jetson AGX Orin (P3701-0000)
|
NVIDIA ® Jetson Xavier™ NX series |
Jetson Xavier NX (P3668-0000, for development only)
Jetson Xavier NX (P3668-0001, 8
GB
RAM)
Jetson Xavier NX 16GB (P3668-0003, 16
GB
RAM)
|
NVIDIA ® Jetson AGX Xavier™ series |
Jetson AGX Xavier (P2888-0001, 16
GB
RAM)
Jetson AGX Xavier (P2888-0004, 32
GB
RAM)
Jetson AGX Xavier 64GB (P2888-0005, 64
GB
RAM)
Jetson AGX Xavier Industrial (P2888-0008, 32
GB
RAM)
|
Partition Configuration Files ¶
A partition configuration file describes all of 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. In each row, “File” specifies the filename of the partition configuration file the defines the configuration, and “Device Type” specifies the
type
attribute of the
block in that file which defines the configuration. (See
Platform & Configuration |
File |
Device Type |
---|---|---|
Jetson Orin platforms in
**
|
||
Jetson AGX Orin (P3701-0000), QSPI_NOR partition |
|
|
Jetson Xavier NX series and Jetson AGX Xavier series in
|
||
Jetson Xavier NX (development, P3668-0000), QSPI_NOR partition |
|
|
Jetson Xavier NX (development, P3668-0000), SD Card partition |
|
|
Jetson Xavier NX (production, P3668-0001) and Jetson Xavier NX 16GB (P3668-0003), QSPI_NOR partition |
|
|
Jetson Xavier NX (production, P3668-0001) and Jetson Xavier NX 16GB (P3668-0003), emmc_user partition |
|
|
Jetson AGX Xavier (P2888-0001 and P2888-0004) and Jetson AGX Xavier 64GB (P3668-0005), sdmmc_boot partition |
|
|
Jetson AGX Xavier (P2888-0001 and P2888-0004) and Jetson AGX Xavier 64GB (P3668-0005), sdmmc_user partition |
|
|
Jetson AGX Xavier Industrial (P2888-0008), spi partition |
|
|
Jetson AGX Xavier Industrial (P2888-0008), sdmmc_user partition |
|
|
Each file’s name typically incorporates its processor name (
t194
,
t234
, or
t239
), 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 (e.g.
p3668
).
During the flashing procedure,
flash.sh
:
-
Reads the partition configuration file
.xml -
Translates keywords into values specified in
.conf -
Saves the translated data in
bootloader/flash.xml
Then
bootloader/tegraflash.py
reads in
bootloader/flash.xml
and flashes the device as specified by
bootloader/flash.xml
.
For details, see the section List of Translated Keywords .
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
-
Within each
-
Within each
-
Within each
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
element has this syntax:
Element Tag Attributes
¶
The following table describes the
tag’s attributes and their legal values.
Device attributes |
Values |
Description |
---|---|---|
device type |
|
Required.
Specifies the type of
device. eMMC
|
instance |
0-3 |
Required. Specifies the device instance: 0 for SPI or NVMe, or 3 (typically) for eMMC. |
Element
¶
Each
element has the 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 of partition 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 of partition configuration files . |
Required. Specifies the type of partition. Certain partition types are valid only when they are associated with specific partition names. |
oem_sign |
|
Jetson AGX Xavier series only
:
If
|
Child Elements
¶
These are tags for specifying the properties of a
element:
Tag | Values | Description |
---|---|---|
|
sequential | Specifies the type of allocation policy. Sequential partitions begin immediately after the preceding partition. |
|
basic |
The
filesystem_type
value
basic
specifies a “raw” partition.
(The legacy “ext2” file system has been deprecated.)
|
|
|
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
|
|
0 | Not implemented. |
|
|
0x008
or
0x808
.
Must be
|
|
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 ¶
This table lists keywords that you can use as the text of certain
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
|
---|---|
MB1FILE |
|
SPEFILE |
|
TEGRABOOT |
|
MTSPREBOOT |
|
APPSIZE |
30064771072 |
APPFILE |
|
MTS_MCE |
|
MTSPROPER |
|
TBCFILE |
|
TBCDTB-FILE |
Appropriate bootloader DTB file name |
TOSFILE |
|
EKSFILE |
|
BPFFILE |
|
BPFDTB-FILE |
Appropriate BPMP DTB file name |
CAMERAFW |
|
WBOBOOT |
|
LNXSIZE |
67108864 |
LNXFILE |
|
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 |
|
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 Xavier NX development module SD Card partition from the table of
partition 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 (e.g. 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.
version="01.00.0000">
type="nvme" instance="0" sector_size="512" num_sectors="61071360">
name="master_boot_record" type="protective_master_boot_record">
sequential
basic
512
0
8
0
**Required.** Contains protective MBR.
name="primary_gpt" type="primary_gpt">
sequential
basic
PPTSIZE
0
8
0
**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.
name="secondary_gpt" type="secondary_gpt">
sequential
basic
0xFFFFFFFFFFFFFFFF
0
8
0
**Required.** Contains secondary GPT of the `sdmmc_user`
device.