Jetson Nano with Ubuntu 20.04 OS image
A Jetson Nano - Ubuntu 20.04 image with OpenCV, TensorFlow and Pytorch
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 are 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 achive (size reduction 26%)
- New download site (Gdrive has a limited number of downloads per day).
Update 1-30-2022.
- Add Jtop (thanks to SkrilaxCZ)
Installation.
- Get a 32 GB (minimal) SD-card which will hold the image.
- Download the image
JetsonNanoUb20_3.img.xz
(9.3 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
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 (7.9 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 8 files (1 GB each) and place them in one folder.
- JetsonUb20_2.7z.001
- JetsonUb20_2.7z.002
- JetsonUb20_2.7z.003
- JetsonUb20_2.7z.004
- JetsonUb20_2.7z.005
- JetsonUb20_2.7z.006
- JetsonUb20_2.7z.007
- JetsonUb20_2.7z.008
Once you have all the files run
7z x JetsonUb20_2.7z.001
7Z will start extracting the first file (*.001
) and then automatically the next files in order.
You will endup with JetsonNanoUb20_2.img.xz
, the original image which you now can flash on a 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_2.7z.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.
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.
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++
.
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.
- OpenCV 4.8.0
- TensorFlow 2.4.1
- Pytorch 1.13.0
- TorchVision 0.14.0
- TensorRT 8.0.1.6
- TeamViewer aarch64 15.24.5
- Jtop 4.2.1
Tensorflow 2.5 and above, just like PyTorch 2.0, require CUDA 11. CUDA version 11 cannot be installed on a Jetson Nano due to incompatibility between the GPU and low-level software.
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.
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.