Is it possible to flash/recovery device rootfs (on eMMC) from USB drive?

Hi, I would like to ask if there is some way how the Nvidia AGX Orin (L4T 35.4.1) can be flashed or recovered using USB drive (USB stick). Is something like that supported by current recovery mode? Or we would need to implement custom bootable image to do that? I would like to simplify reinstalling the device for end users without need of PC for flashing. Thanks.

No, there is no other way to use recovery mode. The protocol itself is also kept private so there are no other implementations. I explored this way on a custom carrier where I had an extra system management processor that allowed me to remotely turn the system on and off and reset it via network and to telnet into the debug console. That management processor had Ethernet and OTG USB, and my idea was to upload an image via tftp and flash the main system through an USB connection between management processor and main processor. Due to a lack of documentation this idea died very quickly.

After I typed the below I think I remember reading somewhere that Orin will not boot to a usbdrive unless that is where the OS has been flashed.

There still might be something helpful below so I’ll leave it.

I’ve not tried this but wonder about the utility of using
nvidia_sdk/JetPack_6.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/tools/jetson-disk-image-creator.sh to create an image


make a bootable usbdrive:
identify usbdrive /dev/sd?1 with lsblk to get the value for ?

use fdisk to format the drive as fat32 or ext4 , might have to try both
sudo mkfs.vfat /dev/sd?1

Make the usbdrive bootable
sudo apt install syslinux-common
sudo syslinux /dev/sd?1

Copy jetson emmc image to the usbdrive
sudo cp jetsonagxorin.img /media/username/USB_DRIVE/

Boot Jetson hit esc and go into bios set the usbdrive as the boot device.

Then use dd burn img from usbdrive to mmc
dd if=/jetsonagxorin.img of=/dev/mmcblk0 bs=4M status=progress

@whitesscott thanks! Such solution also came to my mind. I’m just afraid that boot from USB is not set in boot order on our production devices right now and there will be also concerns about security (verified boot may be needed) but good point.

Never use fat32 for the SD card. Anything which understands Linux permissions, especially SUID and GUID, can be used, but Windows has no concept of that. For a non-Linux filesystem type, flash would work, the system would boot, but it would be terribly broken with no root (sudo) access.

1 Like

This is only half of the story. Orin boots from internal QSPI flash. Always. This contains the second stage bootloader for EMMC, NVME etc. The version of the QSPI flash firmware must match the software on the main storage device. Otherwise the system won’t boot. So no USB boot without working and matching QSPI flash, which in turn requires Recovery Mode, which in turn requires USB flashing via Ubuntu PC. That’s the way it works.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.