[Jetson orin nano]Update firmware using USB instead of microSD

Hi all,

I just buy a new Jetson Orin nano dev kit, and unfortunately, I don’t have micro SD card.
Can I use USB to update the firmware.
I am not sure the edk2 firmware, default loader, supports usb drivers.
Thanks in advance.

  • Tinh

Some terminology which might be useful: L4T is what actually gets flashed, and this is Ubuntu with NVIDIA content added. Jetsons don’t have a hardware BIOS, but they do have the equivalent in software. For a Jetson Orin Nano dev kit the boot chain and equivalent of BIOS is flashed into the QSPI memory on the module itself (the dev kit does not have eMMC). Something like edk2 is flashed with a QSPI flash or a full flash, and ends up on the QSPI of the module.

Firmware can have a number of meanings. That software which is equivalent to a BIOS is installed with a normal flash or a QSPI-only flash. However, the device tree is another kind of firmware, and on the SD card models of dev kits which don’t have eMMC, then this is in the form of a file in “/boot”. Changing that device tree can be as simple as changing that file. So it depends on what you mean by firmware.

Since a Jetson does not have an actual BIOS it cannot self flash. Recovery mode is not a mass storage device USB mode, but it is a custom USB device. That recovery mode Jetson requires a custom USB driver to be useful. JetPack/SDK Manager are just front end software to the actual flash software, and within the flash software, there is a “driver package”; this is the actual flash software, and it is appropriately named because it is a driver for the custom USB device of a Jetson in recovery mode.

If you go to your flash software directory, within the “Linux_for_Tegra/” directory, and run the command “ls jetson*.conf”, but ignore the “.conf” file name suffix, then this is a list of flash targets available. Command line flash (you can ask more if you want) uses one of those as a flash target, and you will likely see a qspi version. A normal command line flash also flashes this. If you were to edit some content prior to flashing, and tell it to reuse the system.img (which could be a clone, or a default image, or anything else), then you’d essentially also be flashing only qspi.

I probably can’t answer specifics about edk2, but do beware that L4T R35.x is not a complete UEFI implementation, and L4T R36.x is. You cannot mix an SD card rootfs of one major release with another one. A list of compatible releases is here:
https://developer.nvidia.com/linux-tegra

Thanks for your reply

so, it means that Jetson Orin dev kit only has ROM code to boot to QSPI flash device. And the bios firmware is a part of “Jetson linux”

The code is read/write. Every flash updates it. But it is indeed part of the Jetson hardware.

1 Like

oh thanks, understand now

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