Neardi Jetson Orin Compilation and Flashing Guide

This guide walks through the process of compiling the system and flashing it onto an NVIDIA Jetson Orin device using the Linux for Tegra (L4T) package.

1. Compilation Steps

Step 1: Enter the rootfs directory

cd rootfs

Step 2: Extract the root filesystem (run once only)

sudo tar -xpf Tegra_Linux_Sample-Root-Filesystem_R36.3.0_aarch64.tbz2 -C ../Linux_for_Tegra/rootfs/ && sync

Step 3: Go to the Linux_for_Tegra directory

cd ../Linux_for_Tegra

Step 4: Apply NVIDIA binary blobs (run once only)

sudo ./apply_binaries.sh && sync

Step 5: Create default user (for initial boot)

sudo ./tools/l4t_create_default_user.sh -u neardi -p neardi

During this step, an interactive prompt will appear.
When prompted, select Apply and press Enter to confirm.

Step 6: Go to the source build directory

cd ../source/build/

Step 7: Start the build process

./build.sh

2. Flashing the Device

Step 1: Connect the Jetson board to your PC via USB
Use a USB Type-C cable to connect the Jetson Orin Nano to your Ubuntu host.

Step 2: Put the board into recovery mode
To enter recovery mode:

  • Press and hold the two outermost buttons on the carrier board.
  • Release the outermost button after 3 seconds, then release the other one.
  • Verify that the board is in recovery mode using:
lsusb

If you see a device listed as NVIDIA Corp. APX, the board is in recovery mode.

Step 3: Install prerequisites (for the first-time flashing)
Before the first flash, install required dependencies:

cd Linux_for_Tegra
sudo ./tools/l4t_flash_prerequisites.sh

Note:
Ensure the Linux_for_Tegra/rootfs directory exists before flashing.
After unpacking the root filesystem, always run apply_binaries.sh to install necessary NVIDIA drivers and libraries.

Step 4: Flash the device
Use the following command to flash the system to an external NVMe drive:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh \
  --external-device nvme0n1p1 \
  -p "-c ./bootloader/generic/cfg/flash_t234_qspi.xml" \
  -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml \
  --showlogs \
  --network usb0 \
  jetson-orin-nano-devkit \
  nvme0n1p1