Factory reset and update agx xavier

hey all, I’ve received the jetson agx xavier developer kit 32gb from a colleague - it has been used for several things so there are tons of old packages, broken things, etc. none of it is needed so I’d just like to wipe the thing back to factory and update to the latest version.
I tried doing updates in place but get various errors, it’s not worth chasing them down to try fix. I just want to start a fresh with it - what’s the best way?

You have an ability to load Ubuntu 18.04 or Ubuntu 20.04 onto this. 18.04 corresponds to “L4T R32.x”, and 20.04 corresponds to “L4T R35.x”. L4T R32.x uses the 4.9 kernel, and CUDA 10.x, whereas L4T R35.x uses a 5.x kernel, and you can use either CUDA 11 or CUDA 12 (this latter is via docker). So you should pick depending on your CUDA release requirements.

L4T is what gets flashed, JetPack/SDK Manager is a GUI front end to the flash software. This software runs on a host PC because Jetsons do not have a BIOS (thus they cannot self-flash). Because of the GUI part of the flash software, if you are flashing L4T R32.x (JetPack 4.x), then your host PC can be either Ubuntu 16.04 or 18.04. If you are flashing L4T R35.x (JetPack 5.x), then your host PC can be either Ubuntu 18.04 or 20.04 (18.04 works on both). Be warned that approximately at the end of the year there will be a major release of JetPack 6 (L4T R36.x??), and it is likely this will work with either Ubuntu 20.04 or 22.04 (that’s only a prediction, I am guessing based on the past). VMs can be made to work if they use an ext4 filesystem, but they are often a pain because you need to know how to make the USB passthrough remain even if USB disconnects and reconnects (and it does this during flash).

Incidentally, JetPack came before SDK Manager. JetPack is the actual GUI front end to flash, SDKM is a smart network layer on top of JetPack (and SDKM has its own release version). I suggest picking the most recent compatible L4T release, but here are the URLs for that and JetPack/SDKM (they lead to the same download URL, which is what I mean that their versions are tied together):

From there you will find official documents and downloads for a given release. Typically you’d download and install JetPack/SDKM onto your host, and then run this as a regular user on command line:
sdkmanager

For those interested, you can see some historical releases if you start like this:
sdkmanager --archivedversions

You’ll find there is both a partner login and a developer login. You’d use the developer login. You’d connect the Jetson to the host PC with the correct USB port while in recovery mode. Normally you don’t need to do anything on command line, but there are a lot of reasons you might do something from this location:
~/nvidia/nvidia_sdk/JetPack...version.../Linux_for_Tegra/

You’ll see lots of references on the forums about the “Linux_for_Tegra/” directory, and that is how you find it.

I almost forgot: Recovery mode does not change a Jetson in and of itself. All it does is to turn the Jetson into a custom USB device understood by the proper driver on the host PC (and that is the actual flash software which the GUI runs…the “driver package”…downloaded and installed automatically by sdkmanager). The recovery button is used like a shift key on a keyboard: You hold it down and then tap another key briefly, then let go, just like using shift for a capital letter. However, what the recovery pin modifies is either power on or power reset. So hold the recovery button, then either tap reset power or power on, let go. You’re now in recovery mode.

1 Like

That’s a great summary with lots of info thanks! I wasn’t aware they don’t have a bios - I have a lot of reading/understanding to get up to speed with this weekend!

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