How to Install Ubuntu 22.04 on Jetson Nano (instead of 20.04)

Hi everyone,

I’m using a Jetson Nano Developer Kit (4GB) and would like to install Ubuntu 22.04 (Jammy Jellyfish) instead of the default 20.04 that comes with most JetPack versions.

My setup:

  • Jetson Nano 4GB (SD card version)
  • Currently running Ubuntu 20.04
  • Planning to upgrade to 22.04 manually or via custom image

My questions:

  1. Is there an official JetPack version that supports Ubuntu 22.04 for Jetson Nano?
  2. If not, are there community-supported Ubuntu 22.04 images for Jetson Nano that are compatible with CUDA, cuDNN, and TensorRT?
  3. Can I use JetPack SDK components (like L4T, CUDA, TensorRT, etc.) on Ubuntu 22.04 , or do I risk compatibility issues?
  4. Any step-by-step guide or links to build a working image with 22.04?

If anyone has successfully done this, I’d love to hear your experience or get a link to a working image.

Thanks in advance!

For reference, L4T is what actually gets flashed. Once NVIDIA content has been added to Ubuntu, then it is called L4T. Your current L4T release can be found via:
head -n 1 /etc/nv_tegra_release

This URL lists the compatibility of different Jetson models with available L4T releases (note that L4T R32.x is Ubuntu 18.04, L4T R35.x is Ubuntu 20.04, and L4T R36.x is Ubuntu 22.04):
https://developer.nvidia.com/linux-tegra

Each of the URLs for L4T also leads to the JetPack/SDK Manager installer software for that release.

The older original Nano is a small form factor TX1. There are also Nano variants for TX2, Xavier, and Orin (soon I think Thor). The original Nano (a TX1) can only run up to Ubuntu 18.04 via L4T R32.x. When Xavier arrived L4T R35.x became available, and this is Ubuntu 20.04. Orin added L4T R36.x, which is Ubuntu 22.04.

Do you really have a Nano, or is it something like Xavier Nano? There are some people “out in the wild” who have worked on non-official releases, but otherwise there is no official support for a Nano on either Ubuntu 20.04 or 22.04. It is old enough that the original Nano and TX2 Nano stopped development at that point. Xavier is not intended for new feature development either, and won’t get an official update beyond Ubuntu 20.04. Orin does support 22.04, and when Thor comes out, I don’t know if Orin will be supported for 24.04 or not; certainly Thor will.

That said, Jetsons do not have a BIOS, they only have the software equivalent. In recovery mode a Jetson is just a custom USB device needing a custom USB driver. These are the reasons why (A) a Jetson cannot self-flash, and (B) needs a host PC to flash. The boot chain for most embedded devices, and especially for Jetsons, implies that “normal” flashing is also flashing a BIOS. That BIOS is non-standard and has evolved at every release; the version of L4T installed must match the major release of that BIOS equivalent content, e.g., any rootfs (which is what contains the operating system) from R32.x would work with most any boot chain from R32.x, but there would be a failure by mixing R32.x of boot chain with R35.x of the actual o/s (Ubuntu 20.04 would not boot from L4T R32.x boot chain).

It isn’t until L4T R36.x (Orin or newer) that fully true UEFI has been installed. This switched to the mainline kernel, and this means it is possible (starting at R36.x) to work with other releases (meaning L4T R36.x would be ideal to work with if you wanted to port/adapt any other distribution or release of software). Without that UEFI adapting to unsupported content is quite difficult (not that adapting with UEFI is easy, but adaptation not only becomes possible, it also becomes intended).

Some people have got other releases working though. You’d have to find those releases, but I don’t know who has your desired release (if any). One of the biggest problems with such releases is that they often must keep the old Xorg X server or lose access to the GPU (and CUDA).

Btw, since original Nano does not work with Ubuntu 20.04 (L4T R35.x), is your Nano really just a Nano? Or is it something like Xavier? If it is Orin, you are probably in luck. Either way you’ve posted in the old TX1 Nano forum, and not the forum for say Orin Nano. It’ll perhaps be assumed you have the TX1 Nano when people answer your question, which would probably provide incorrect answers.


I almost forgot: Many people use Docker for particular cases (not a general solution, but it is a solution for specific software).

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