Skip to content

Qengineering/Jetson-Nano-Ubuntu-20-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 

Repository files navigation

Jetson Nano with Ubuntu 20.04 OS image

output image

output image

output image

A Jetson Nano - Ubuntu 20.04 image with OpenCV, TensorFlow and Pytorch

License

Update 9-17-2023.

  • Refresh Ubuntu 20.04.
  • Add WiFi support (#28).
  • Reduce xz archive.

Update 9-6-2023.

  • Added a new spilt image.

Update 7-15-2023.

  • Refresh Ubuntu 20.04.
  • Update OpenCV (4.8.0)
  • Update PyTorch (1.13.0)
  • Update TorchVision (0.14.0)
  • New: TensorRT (8.0.1.6)

Update 7-13-2023.

  • Added an installation wheel for TensorRT 8.0.1.6+cuda10.2. The version is synchronous with the C++ version found on the image. Newer versions of TensorRT require CUDA 11 or later, which is not supported on a Jetson Nano. (thanks to Teemu Heikkilä)

Tip 3-10-2023.

  • Connected to the net for the first time? Wait for the Software Updater and let it refresh your operating system.

Update 7-30-2022.

  • Added bare overclocked Ubuntu 20.04 image.

Update 7-26-2022.

  • Refresh Ubuntu 20.04
  • Update OpenCV (4.6.0)
  • Update PyTorch (1.12.0)
  • Update TorchVision (0.13.0)
  • New xz archive (size reduction of 26%)
  • New download site (Gdrive has a limited number of downloads per day).

Update 1-30-2022.


Installation.

  • Get a 32 GB (minimal) SD card to hold the image.
  • Download the image JetsonNanoUb20_3b.img.xz (8.7 GByte!) from our Sync.
  • Flash the image on the SD card with the Imager or balenaEtcher.
  • According to issue #17 only flash the xz directly, not an unzipped img image.
  • Insert the SD card in your Jetson Nano and enjoy.
  • Password: jetson

Tip:

The SD card is overflowing with software; more than 21 GByte! With a 32 GB card, you don't have enough space to work decently.
Therefore, flash the image on an SD card of 64 or more. Then let GParted ($ sudo apt-get install gparted) enlarge the partition.


Split image.

Due to the large image (9.3 GB), the download may take quite some time. It makes downloading vulnerable.
That's why we split the file into smaller chunks. These are more manageable than one huge download.
If you prefer this partial download over one large one, download the following 14 files (700 MB each) and place them in one folder.

Once you have all the files run

7z x JetsonNanoUb20_3b.img.xz.001

7Z will start extracting the first file (*.001) and automatically the next files in order.
You will end up with JetsonNanoUb20_3b.img.xz, the original image which you now can flash on an SD card with Imager or balenaEtcher.

If you get the error '7z' is not recognized as an internal or external command, operable program or batch file. please give the full path to 7z. For instance,

"C:\Program Files\7-Zip\7z.exe" x JetsonNanoUb20_3b.img.xz.001

Bare image.

For those who want a bare-bones Ubuntu 20.04 OS with JetPack 4.6.1, without TensorFlow and PyTorch, you can download the image here (5.6 GB).
The Nano is overclocked at 1900 MHz. See https://qengineering.eu/overclocking-the-jetson-nano.html for more information.
By the way, the image with TensorFlow and PyTorch is not overclocked and runs at the regular 1479 MHz.
output image


Archive.

The previous (7-26-2022) Ubuntu 20.04 image, with OpenCV 4.6.0, TensorFlow 2.4.1 and PyTorch 1.12.0 can be downloaded here - 7.9 GByte.
Or the split image:

The first (9-22-2021) Ubuntu 20.04 image, with OpenCV 4.5.3, TensorFlow 2.4.1 and PyTorch 1.9.0 can be downloaded here - 10.3 GByte.


Warnings.

  • Do not install Chromium as it will interfere with the Snap installation. Use the preinstalled Morzilla Firefox.
  • Corrupted lavapipe You may encounter a warning during booting that the lavapipe is broken.
    The solve the issue remove the /usr/share/vulkan/icd.d folder $ sudo rm -rf /usr/share/vulkan/icd.d
    See issue #173.

Upgrading.

You may encounter issues when upgrading ($ sudo apt-get upgrade) this Ubuntu 20.04 version. It has to do with a conflicting /etc/systemd/sleep.conf file, which blocks the upgrade. Follow the instructions on our website to resolve this issue.


Tips.

Use a tool like GParted sudo apt-get install gparted to expand the image to larger SD cards. We recommend a minimum of 64 GB. Deep learning simply requires a lot of space.

Many CUDA related software needs gcc version 8.
We have installed gcc and g++ version 8 alongside the preinstalled version 9.
You can select your choice with $ sudo update-alternatives --config gcc and $ sudo update-alternatives --config g++.

output image


SSD

You can use an external SSD USB drive holding your Ubuntu 20.04 OS and other software. Please follow the steps given at issue 32.


Pre-installed software.

Clicking on the links below will direct you to our installation guide.

Tensorflow 2.5 and above, just like PyTorch 2.0, requires CUDA 11. CUDA version 11 cannot be installed on a Jetson Nano due to incompatibility between the GPU and low-level software.

image
image
image


OpenCV + TensorFlow or TensorRT.

Importing both TensorFlow (or TensorRT) and OpenCV in Python can throw the error: cannot allocate memory in static TLS block.
This behaviour only occurs on an aarch64 system and is caused by the OpenMP memory requirements not being met.
For more information, see GitHub ticket #14884.

output image

There are a few solutions. The easiest is to import OpenCV at the beginning, as shown above.
The other is disabling OpenMP by setting the -DBUILD_OPENMP and -DWITH_OPENMP flags OFF.
Where possible, OpenCV will now use the default pthread or the TBB engine for parallelization.
We don't recommend it. Not all OpenCV algorithms automatically switch to pthread.
Our advice is to import OpenCV into Python first before anything else.

Please visit https://qengineering.eu/install-ubuntu-20.04-on-jetson-nano.html for more information.


paypal