PythOps

Create your own image for jetson nano board

Last update: 20 March 2023

This article will guide you through the process of creating a minimalist Ubuntu-based image for your NVIDIA Jetson Nano board that is tailored to your specific project needs.

While the official image is available for use, it is over 5GB in size and comes pre-installed with unnecessary packages like the Ubuntu desktop and a browser, taking up valuable disk space and memory. Building an image from scratch provides a great opportunity to learn something new and create a clean and minimalistic image.


Download the prebuilt images

To download prebuilt images, go to the GitHub release page 👉 here

To be able to decompress the images, you must have lrzip installed.

Once the images are decompressed, follow the section below to flash the image to the SD card.

The default username is jetson and the password is jetson


Build the jetson image your self

ℹ️ Note
Building the jetson image has been tested only on Linux machine.

Building the jetson image is fairly easy. All you need to have is the following tools installed on your machine.

ℹ️ Note
Some ubuntu users report that you may need `makedb` as well which is provided by `libnss-db`.
apt install -y libnss-db

Start by cloning the repo from github

$ git clone https://github.com/pythops/jetson-nano-image
$ cd jetson-nano-image

Then create a new rootfs using the following command:

$ just build-jetson-rootfs

This will create the rootfs in the rootfs directory.

You can modify the Containerfile.rootfs file to add any tool or configuration that you will need in the final image.

Next, use the following command to build the Jetson image:

$ just build-jetson-image <board> <revision>

Specify the Jetson board you want, which can be either jetson-nano or jetson-nano-2gb.

For the jetson nano you can specify the revision: 200 or 300. For example, for the jetson nano board 200 revision, use the following command:

$ just build-jetson-image jetson-nano 200

For the Jetson Nano 2GB, there is no need to provide the revision, so just use the following command:

$ just build-jetson-image jetson-nano-2gb

The Jetson image will be built and saved in the current directory in a file named jetson.img


Flashing the images into the sd card

To flash the jetson image, just run the following command:

$ sudo just flash-image <jetson image file> <sdcard device>

Where sdcard device is the name of the sd card identified by your system. For instance, if your sdard is recognized as /dev/sda, then replace sdcard device by /dev/sda

ℹ️ Note
There are numerous tools out there to flash images to sd card that you can use. I stick with `dd` as it's simple and does the job


Nvidia Libraries

Once you boot the board with the new image, then you can install Nvidia libraries using apt

$ sudo apt install -y cuda-toolkit-10-2 libcudnn8 libcudnn8-dev


Result

With the new image only 150MB of RAM is used, which leaves you with 3.85 GB for your projects !


If you find this blog post helpfull, don't forget to give it a star in Github

ℹ️ Looking for professional support ?
If you need more advanced configuration or a custom setup, you can contact me on this address support@pythops.com

Read more ...

Setup your Linux workstation with Ansible

Linux User Authentication

compile deeplearning libraries for jetson nano