Skip to content

Flashing Jetson

Ash Babu edited this page Jul 21, 2026 · 1 revision

Jetson Orin Nano has now got support for JetPack 7.2. There are two main ways to flash 1) using sdkmanager 2) using a usb flash drive. If flashed using SDK manager to jetpack 7.2, then the firmware of the jetson gets updated from R36.x to R39.x and many (previous) things likely to break meaning that a swap of micro-SD card is not good enough to get it working again.

My host computer was having Ubuntu 24.04. The SDK Manager installed on my host can only be used to install Ubuntu 24.04 (Jetpack 7.2 and 6.2.x) on the jetson. isaac_ros_visual_slam cannot work with that for some unknown reason and only is supported on the Orin with ROS2 Humble and release 3.2. So I needed to downgrade the Orin firmware to R36.x, JetPack 6.2 for Ubuntu 22.04 (ROS2 Humble). This can be done using a dockerized version of the sdk manager on the Ubuntu 24.04 host. The reason to use sdk manager is that it automatically takes care of the firmware required on the jetson, installing CUDA and other nvidia libraries with the correct version required. Just using micro-SD flashing wont upgrade/downgrade firmware on the jetson.

Jetpack 6.x can be also installed by normal flashing the micro-SD card

Put Orin on recovery mode.

  • Switch off the power
  • Short pins FRC REC and GND (3rd and 4th pin) under the Orin.
  • Connect the USB-C to the Orin and the other end of the USB cable to the computer
  • Switch On the power
  • In your host terminal, run lsusb. If you see a device named NVIDIA Corp., you are in recovery mode
WhatsApp Image 2026-07-14 at 09 57 56
  • docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb/ -v /dev:/dev --network host sdkmanager:2.4.1.13536-Ubuntu_22.04 --cli --action install --login-type devzone --product Jetson --target JETSON_ORIN_NANO_TARGETS --select 'Jetson Linux' --flash --license accept After running this command it asks to login to Nvidia and after logging in and selecting a few options, it will start to download the required jetpack (6.2.1) that has the R36.x version of the firmware. However after finishing the download and on trying to flash on the jetson, it gets stuck at 99% and wont proceed further. So DONT do the flashing step (The docker sdkmanager will ask for flash or not. Only do till the downloading step).

The docker would have downloaded into the container itself. To use the host system for flashing, copy the required contents from the docker to the host

  • docker cp <container_name>:/home/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS ~/nvidia/nvidia_sdk/

On Host

cd ~/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra
sudo ./apply_binaries.sh
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs jetson-orin-nano-devkit internal

Note: If an error like the following comes

~/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra] - sudo ./apply_binaries.sh 
[sudo] password for ash: 
Using rootfs directory of: /home/ash/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/rootfs
||||||||||||||||||||||| ERROR |||||||||||||||||||||||
-----------------------------------------------------
1. The root filesystem, provided with this package,
   has to be extracted to this directory:
   /home/ash/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/rootfs
-----------------------------------------------------
2. The root filesystem, provided with this package,
   has to be extracted with 'sudo' to this directory:
   /home/ash/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/rootfs
-----------------------------------------------------
Consult the Development Guide for instructions on
extracting and flashing your device.
|||||||||||||||||||||||||||||||||||||||||||||||||||||
  • Download the Tegra_Linux_Sample-Root-Filesystem_R36.4.4_aarch64.tbz2 manually and put it inside ~/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS. Then
cd ~/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra
sudo tar -xpf ../Tegra_Linux_Sample-Root-Filesystem_R36.4.4_aarch64.tbz2 -C rootfs/

and rerun

sudo ./apply_binaries.sh
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs jetson-orin-nano-devkit internal

Clone this wiki locally