Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pythops/jetson-image
💾 Create minimalist, Ubuntu based images for the Nvidia jetson boards
https://github.com/pythops/jetson-image
jetson-agx-xavier jetson-nano jetson-nano-2gb jetson-orin-nano jetson-xavier-nx nvidia podman shell ubuntu
Last synced: 7 days ago
JSON representation
💾 Create minimalist, Ubuntu based images for the Nvidia jetson boards
- Host: GitHub
- URL: https://github.com/pythops/jetson-image
- Owner: pythops
- Created: 2019-11-24T15:46:09.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-10T09:13:40.000Z (about 2 months ago)
- Last Synced: 2024-12-18T19:18:29.186Z (9 days ago)
- Topics: jetson-agx-xavier, jetson-nano, jetson-nano-2gb, jetson-orin-nano, jetson-xavier-nx, nvidia, podman, shell, ubuntu
- Language: Shell
- Homepage:
- Size: 98.6 KB
- Stars: 378
- Watchers: 12
- Forks: 109
- Open Issues: 3
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Nvidia Jetson Minimalist Images
[![Discord][discord-badge]][chat-url]
[discord-badge]: https://img.shields.io/badge/Discord-chat-5865F2?style=for-the-badge&logo=discord
[chat-url]: https://discord.gg/wA7Pg9H6## 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
- [x] Jetson nano
- [x] Jetson nano 2gb
- [x] Jetson orin nano
- [x] Jetson agx orin
- [x] Jetso agx xavier
- [x] Jetson xavier nx## Spec
**Supported Ubuntu releases**: 20.04, 22.04, 24.04
**L4T versions**: 32.x, 35.x, 36.x
> [!IMPORTANT]
> For jetson orin nano, you might need to update the firmware before being able to use an image based on l4t 36.x
>
> check this [link](https://www.jetson-ai-lab.com/initial_setup_jon.html) for more information.## 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.
- [podman](https://github.com/containers/podman)
- [just](https://github.com/casey/just)
- [jq](https://github.com/stedolan/jq)
- [qemu-user-static]()Start by cloning the repo from github
```bash
git clone https://github.com/pythops/jetson-image
cd jetson-image
```Then create a new rootfs with the desired ubuntu version.
> [!NOTE]
> Only the orin family boards can use ubuntu 24.04For ubuntu 24.04
```
just build-jetson-rootfs 24.04
```This will create the rootfs in the `rootfs` directory.
> [!TIP]
> You can modify the `Containerfile.rootfs.*` files 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 -b -r -d -l
```> [!TIP]
> If you wish to add some specific nvidia packages that are present in the `common` section from [this link](https://repo.download.nvidia.com/jetson/)
> such as `libcudnn8` for instance, then edit the file`l4t_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:
```bash
$ just build-jetson-image -b jetson-orin-nano -d SD -l 36
```Run with `-h` for more information
```bash
just build-jetson-image -h
```> [!NOTE]
> Not every jetson board can be updated to the latest l4t version.
>
> Check this [link](https://developer.nvidia.com/embedded/jetson-linux-archive) for more information.The Jetson image will be built and saved in the current directory in a file named `jetson.img`
## Flashing the image into your board
To flash the jetson image, just run the following command:
```
$ sudo just flash-jetson-image
```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.## Nvidia Libraries
Once you boot the board with the new image, then you can install Nvidia libraries using `apt`
```bash
$ sudo apt install -y libcudnn8 libcudnn8-dev ...
```## 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 !
![](https://github.com/user-attachments/assets/7404e20f-3ccd-42c7-b8d6-e93c635aa6f0)
## License
AGPLv3