Skip to content

pythops/jetson-image

Repository files navigation

Nvidia Jetson Minimalist Images

Discord

Motivation

The need for the minimalist images came from the official jetson images being large in size and containing pre-installed packages that are not necessary, resulting in the consumption of valuable disk space and memory.

Supported boards

  • Jetson nano
  • Jetson nano 2gb
  • Jetson orin nano
  • Jetson agx orin
  • Jetso agx xavier
  • Jetson xavier nx

Spec

Supported Ubuntu releases: 20.04, 22.04, 24.04

L4T versions: 32.x, 35.x, 36.x

Build the jetson image

Note

Building the jetson image has been tested only on Linux machines.

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

Start by cloning the repo from github

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

I. Create a new rootfs

1. WiFi configuration (Optional)

The Wi-Fi configuration must be set up before running the build command so it can be properly baked into the image.

Creates a file named <network_name>.psk in the config/iwd/networks directory with the following content

[Security]
Passphrase=<WiFI Password>

[Settings]
AutoConnect=true
2. Build the rootfs

Note

Only the orin family boards can use ubuntu 24.04

Run the following command

just build-jetson-rootfs <ubuntu_version>

This will create the rootfs in the rootfs directory.

ubuntu_version can take on these values: 20.04, 22.04, 24.04

for example, to build roorfs based on 24.04:

just build-jetson-rootfs 24.04

Note

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


II. Build the Jetson image:


$ just build-jetson-image -b <board> -r <revision> -d <device> -l <l4t version>

Tip

If you wish to add some specific nvidia packages that are present in the common section from this link such as libcudnn8 for instance, then edit the filel4t_packages.txt in the root directory, add list each package name on separate line.

For example, to build an image for jetson-orin-nano board:

$ just build-jetson-image -b jetson-orin-nano -d SD -l 36

Run with -h for more information

just build-jetson-image -h

Note

Not every jetson board can be updated to the latest l4t version.

Check this link for more information.

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


III. Flashing the image into your board

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

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

Where device is the name of the sdcard/usb identified by your system. For instance, if your sdard is recognized as /dev/sda, then replace 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.


IV. Boot the board

Login

Once you boot the board, you can login with:

username: jetson
password: jetson

Note

ssh server is running by default and listen on the port 22

Nvidia Libraries

Nvidia libraries can be installed using apt

$ sudo apt install -y libcudnn8 libcudnn8-dev ...

New tools

impala: A TUI for managing WiFi.

tegratop: A Comprehensive TUI monitoring tool for Nvidia jetson boards.


Result

For the jetson orin nano for instance with the new image, only 220MB of RAM is used, which leaves plenty of RAM for your projects !

License

AGPLv3

About

💾 Create minimalist, Ubuntu based images for the Nvidia jetson boards

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

 

Contributors