Jump to content

Flashing the Filesystem

From RidgeRun Developer Wiki



Follow us on: YouTube Twitter LinkedIn Email Share this page

Share This Page

🚧 Documentation is under development

The NVIDIA Jetson Orin guide is currently under active development. Some sections may be incomplete or change without notice.

Questions? Contact RidgeRun or email to support@ridgerun.com.




Flash Filesystem

JetPack 7.2 uses Jetson Linux r39.2. Use its prepared Linux_for_Tegra directory for the commands below. See the Flashing Board section for Force Recovery Mode and general flashing steps.

Requirements for External Media

  • External storage should be 64 GB or larger.
  • For smaller devices, adjust ROOTFSSIZE in the board configuration and num_sectors in the partition-layout XML. With initrd flashing, set -S <rootfssize> a few GiB below the total capacity.
  • Prepare the r39.2 rootfs and apply NVIDIA binaries as described in the Quick Start Guide. Connect the Jetson's recovery USB port to the host and enter Force Recovery Mode.
  • See the Flashing Support Guide for external-media requirements.

USB Drive

1. Plug the USB drive into the host computer first. Then run the following command on the host to identify the drive:

sudo lsblk -p -d | grep sd

2. Before flashing, unmount every mounted partition on the USB drive. Keep the drive plugged into the host. For example, if the drive is /dev/sdb, check its mount points:

lsblk -p -o NAME,SIZE,MODEL,MOUNTPOINTS /dev/sdb

Close any files or terminals using the drive. Unmount each partition that has a mount point; for example, if /dev/sdb1 is mounted:

sudo umount /dev/sdb1

Repeat for any other mounted partitions on that drive. Replace sdb and sdb1 with the device names identified in Step 1. Run lsblk again to confirm that no mount points remain.

3. Keep the USB drive connected to the host. Also connect the Jetson's recovery USB-C port to the host and put the Jetson into Force Recovery Mode so the tool can read its board specifications. On the AGX Orin developer kit, use the USB-C port next to the 40-pin header. With power connected and the kit powered off, hold FORCE RECOVERY, press and release POWER, then release FORCE RECOVERY. Verify detection on the host:

lsusb -d 0955:

If no NVIDIA device appears, correct the recovery-mode connection before continuing. See NVIDIA's Quick Start Guide.

From the JetPack 7.2 Linux_for_Tegra directory, prepare the drive with initrd flashing. Replace sdX with its host device name, such as sdb:

sudo ./l4t_initrd_flash.sh -c tools/kernel_flash/flash_l4t_t234_nvme.xml     --external-device sda1 --direct sdX --erase-all jetson-agx-orin-devkit external

For a USB drive smaller than the default layout, set EXT_NUM_SECTORS to its sector count (sudo blockdev --getsz /dev/sdX) and reduce the rootfs size with -S. For a 31.16 GB drive with 60868608 sectors, use:

sudo EXT_NUM_SECTORS=60868608 ./l4t_initrd_flash.sh \
  -c tools/kernel_flash/flash_l4t_t234_nvme.xml \
  -S 20GiB --external-device sda1 --direct sdX \
  --erase-all jetson-agx-orin-devkit external

Use your drive's actual sector count and host device name. This erases the drive and regenerates the layout to avoid partprobe failed errors caused by an oversized GPT.

If the Jetson is not connected in recovery mode, the command requires explicit board specifications instead. Missing both causes Error: No Board Spec. and no target connected. NVIDIA's offline example supplies BOARDID, BOARDSKU, and FAB; those values must match the target module.

4. Attach the drive to the Jetson before booting. Select USB storage in the UEFI boot menu if necessary.

Select USB storage in the UEFI boot menu.

The --erase-all option erases the flashed boot media. The examples above use the AGX Orin developer-kit configuration; use the configuration for your module/carrier from NVIDIA's Quick Start table.

NVMe Drive

The following steps apply when the NVMe drive is connected directly to the host computer. If the drive is already installed in the Jetson, skip these steps and use the command below for an NVMe drive installed in the Jetson.

1. Connect the NVMe drive to the host computer using either a compatible M.2 NVMe slot inside the computer or an M.2 NVMe-to-USB enclosure. The enclosure must support NVMe and the drive's physical size. Then identify its device name:

lsblk -d -p

2. From Linux_for_Tegra, prepare the drive. Replace nvmeXn1 with the host device name shown by lsblk (without /dev/). A USB enclosure may expose the drive as sdb rather than nvme0n1:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh -c tools/kernel_flash/flash_l4t_t234_nvme.xml --external-device nvme0n1p1 --direct nvmeXn1 --erase-all jetson-agx-orin-devkit external

3. Install the NVMe drive in the Jetson before booting. Select NVMe in the UEFI boot menu if necessary.

For an NVMe drive already installed in the Jetson, use the Jetson AGX Orin NVMe flashing command:

sudo ./l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_t234_nvme.xml --erase-all jetson-agx-orin-devkit external

For an already prepared USB/NVMe rootfs, the following AGX Orin commands only update internal boot storage to mount it; they do not write the external rootfs:

sudo ./flash.sh jetson-agx-orin-devkit sda1
# Or, for NVMe:
sudo ./flash.sh jetson-agx-orin-devkit nvme0n1p1

SD Card (Orin Nano Developer Kit)

The P3767-0005 development module supports microSD storage. Orin NX and production Orin Nano configurations list USB/NVMe storage instead.

Insert the microSD card into the developer kit and run the documented SD-card flashing command from Linux_for_Tegra:

sudo ./l4t_initrd_flash.sh --external-device mmcblk0p1     --erase-all jetson-orin-nano-devkit internal

JetPack 7.2 no longer provides a prebuilt Orin Nano SD-card image. For installation using a USB stick, see NVIDIA's JetPack 7.2 download notes and their linked Jetson ISO instructions.





Cookies help us deliver our services. By using our services, you agree to our use of cookies.