Jetson Nano upgrade and CUDA problem

Hi everyone,

I tried so many times setup ubuntu 18.04 for jetson nano . I want to run my code in my jetson nano but have a a lot of problem. For example;

  1. Whenever I want to update jetson nano, the system starts the installation from 18.04 to 20.04, but after a while it gives an error and the update cannot be done completely.

I prepared my license plate reading system code with easyocr. I tested it in windows environment and it works. Whenever I run it with pycharm on jetson nano I get CUDA not available error.
When I want to install CUDA in 18.04 I follow the instructions however. The installation fails and the system hangs. I have to reinstall jetson nano again and I have to do everything from scratch.

How can I make Jetson nano ready with CUDA installed. Whenever I run the code it runs from the CPU which causes the FPS to be 1-2 and the camera cannot read the license plate.

  1. If Jetson nano is not suitable for this, I have a jetson xaiver. Can I run my system with it? Can you help me to setup properly with CUDA from start to finish?

  2. Could the problem be caused by using python’s easyocr library? When I install Jetson, it comes with python 3.6.9 installed. But easyocr works on lowest 3.7 version.

Could you please help me on this matter urgently? good forums to all!

Ubuntu 20.04 is incompatible with Nanos (20.04 does work with Xavier). The boot requirements for this (and many embedded systems which don’t have a BIOS) were never ported to 20.04, which is why install of 20.04 fails. However, CUDA is available in 18.04, and is used quite often for things like license plate readers. The trick is that you need the version installed via JetPack/SDK Manager.

Before adding more, here is a listing of L4T releases (this is Ubuntu plus NVIDIA drivers, and is what gets flashed) and JetPack/SDK Manager releases (this is the GUI front end to the flash software and “smart” network downloader; the L4T and JetPack versions are tied together):

The pre-built SD card images might have CUDA, I don’t know (it probably depends on which one you use). I’ll note that I am speaking only of the NVIDIA development kits, and not the ones with third party carrier boards when I mention which software to use (third party manufacturers of carrier boards will provide flash software, or if the layout is an exact match to the dev kit, they will state to use NVIDIA’s software).

There are essentially two components to a flash:

  • The root filesystem (rootfs, or o/s partition), which is what you have on the SD card when the version of hardware does not have eMMC storage. You can get the SD card either as a pre-built image (mentioned before), or you can use JetPack/SDK Manager to create this.
  • JetPack has an additional feature, that of being able to flash the second component of boot, which resides on QSPI memory of the module itself (this tends to be in eMMC on eMMC models). The QSPI content has to be valid and compatible with the o/s (SD card in this case) before boot will succeed. This is non-optional.
  • Optionally, JetPack can install CUDA and some other options to a fully booted Jetson (with or without flashing).

Flash via JetPack/SDK Manager has two stages for the Nano: The first is to flash the QSPI content, and then the second stage after flash is that the Nano will self-reboot, and in theory boot to a fully running state. If first boot account setup has not been completed, then it will ask to do this. The second stage is that JetPack will install optional components over ssh, including CUDA if you’ve selected that in JetPack. That release of CUDA is compatible with the Nano.

Note that if the Nano boots, you can uncheck flash, and with the Nano fully booted, ask JetPack to install CUDA.

Optionally, if the apt repositories have been set up, and if you know the name of the package for CUDA, then you can use apt-get to install. This won’t be the most recent CUDA, but for exa
apt search cuda-coremple you could examine:

apt search cuda-core
apt search cuda-libraries
apt search cuda-libraries-dev
apt search nvidia

(if you don’t know what you need, then it is far easier to use JetPack)

I want to emphasize though that not all packages show in this will be installable. An example being that some NVIDIA X servers will be listed for PCI video cards, and they won’t install because Jetsons don’t have a discrete GPU (dGPU), their GPU is integrated directly to the memory controller (an iGPU). This is why JetPack is recommended as it knows about these dependencies.

If you’ve ever forced install of the PCI version of GPU or X server, then you probably need to start over, but if you can run JetPack/SDK Manager, and if it installs CUDA, then this is pretty much a guarantee it will work (though it might not have the release you want since the Nano is quite old).

Xavier is quite a bit newer, and you’d use JetPack to flash this and install CUDA as well, but versions differ.

  1. It’s can upgrade ubuntu with the upgrade but you needed keep or re-edit again /etc/X11/xorg.conf
    Ubuntu disable always "Driver “nvidia” line and some other tweaks things.
    Canonical does not take into account nvidia drivers only mesa3d drivers.
  2. For jetson nano you only can up to cuda 10 not supported cuda11 or cuda12 due limitation in based userpace drivers .

Thank you for information. I’m going to try a clean install again today and try to activate CUDA. Here I will share the problems I encountered.

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