Create a JetPack 7.2 Live ISO for Thor or Orin, Similar to Ubuntu Live CD

A method I developed to build for Jetson AGX Orin and Thor on JetPack 7.2 r39.2 an Ubuntu 24.04.03 live ISO.

Motivation: Needed a method to attempt to fix a misconfigured Jetson device. The only existing option was to re-flash it. JetPack 7.2 installer ISO is install-only, and the Ubuntu livecd ISO doesn’t include the Tegra kernel, NVIDIA driver stack, or GPU firmware and do not work on Jetson devices.

The built ISO boots Orin or Thor straight into a working GNOME desktop. The main use case is repair / inspection / backup of an existing JetPack installation, but the same USB stick can also install JetPack 7.2 to disk (the original installer entries are preserved alongside the live entry).

Methods to burn the ISO to usb stick are printed upon script completion.

The best method, on Jetson, to burn ISO to USB Stick is to install and use the Ubuntu Startup Disk Creator sudo apt install usb-creator-gtk



git clone GitHub - whitesscott/jetson-live-iso: Scripts to create bootable gui `live` iso for Nvidia Thor and Nvidia Orin · GitHub to get the requisite extra files and the directory ./jetson-live-iso should be the build root.

The scripts were developed on NVIDIA Jetson Thor Developer kit. Tested on NVIDIA Jetson Thor Developer kit and NVIDIA AGX Orin Developer Kit.

The build scripts must be run on an arm64 Jetson host. Subsequent script runs are incremental; ~15 min for first run.

Copy the Jetpack 7.2 ISO to the jetson-live-iso directory. Then select your target and run either

./build-ORIN-live-iso.sh     # Jetson AGX Orin (T234) I don't have an Orin NX/Nano to test.
./build-THOR-live-iso.sh     # Jetson AGX Thor (T264)

Networking, DNS, apt update, apt install are all functional. nano, vim, wget, curl, openssh-server are included; anything else needed can be installed. Both scripts create independant build directory structure.

GRUB menu on the resulting ISO:
1. Jetson Live Desktop (Repair / Inspect) — default, autologin to GNOME desktop
2. Live Text Shell (no GUI, for diagnostics) — single-user rescue shell
3. Install Jetson ISO R39.2.0 — the pristine JetPack 7.2 installer

For repair work: once you’re booted into the live desktop, the included /opt/utility-scripts/jetson-rescue mounts the Jetson device’s installed APP partition, sets up /dev /proc /sys /run bind-mounts, fixes up /etc/resolv.conf, deploys the NVIDIA L4T apt source if missing, and drops you in a chroot of the installed system. From there apt install / apt remove / file edits all touch the installed Jetson rootfs, not the live environment.

The scripts are heavily commented, — every non-obvious step has a descriptive entry. A future JetPack release may be a matter of bumping KVER and the source ISO partition offsets in the scripts; with sufficient information to avoid having to rediscover all the load-bearing fixes from scratch should further modification be required.

Booting from the USB stick
  
  1. Boot: Insert the USB stick in the Jetson and power it on. When the NVIDIA UEFI splash screen appears, press F11 (boot menu) or Esc (UEFI setup),
  then pick the USB stick as the boot device.
  2. Wait: Boot takes about a minute. Just before the desktop appears you'll see 4 to 7 lines about a driver "not found" or "not loaded" — these are
  benign on the rescue environment and can be ignored.
  3. Use: Once the GNOME desktop is up, open a terminal. If you want to access the installed Jetson rootfs, run:
  /opt/utility-scripts/jetson-rescue
  3. That mounts the device's APP partition at /mnt/jetson, sets up bind mounts for /dev /proc /sys /run, fixes /etc/resolv.conf so apt works, and
  drops you in a chroot of the installed system.

Shutting down

Run `sudo shutdown now` (or use the power-button menu in the desktop). 
A few messages about the USB stick and its partitions will print as the kernel
  detaches the live media. 
Once they appear, remove the USB stick, then press the Jetson's reset button to reboot.

build-ORIN-live-iso.sh.txt (25.2 KB)
build-THOR-live-iso.sh.txt (43.0 KB)

Thanks for your sharing to the community.