Jetson Setup

This guide covers the required steps to set up a new NVIDIA Jetson AGX Orin. The Jetson runs Jetson Linux, an Ubuntu-based distribution with drivers and utilities optimized for the Jetson hardware.

The installation guide aims to be self-contained. However, the following resources are generally useful for developers working with the NVIDIA Jetson platform:

OS Installation

There are three ways to install/upgrade the Jetson OS. We recommend using the pre-built image.

2. SDK Manager

Download and install the SDK Manager and follow the SDK Manager Documentation.

Note

These instructions require an Ubuntu Host 20.04 or 22.04, or a CentOS/RedHat system. They will not work on other systems or virtual machines unless you do not use USB connections or tunnel them properly to the VM. The software disconnects multiple times during flashing, which can cause issues on many VMs.

3. SDK Manager Docker Container

For advanced users, the SDK Manager is also available as a Docker container. See the Container Documentation.

Post-Installation Setup

You should now have a Jetson OS installed on your system. After re-booting, the following commands must be executed on the Jetson device.

Update packages:

sudo apt update
sudo apt dist-upgrade
sudo apt install git-core git cmake build-essential bc libssl-dev python3-pip

Download the Sionna Research Kit:

cd ~ # We assume sionna-rk is cloned in the home directory
git clone https://github.com/NVlabs/sionna-rk.git

Install and configure Docker:

sudo apt install docker.io

# Replace $USER with the username to add, if not the one logged in
sudo usermod -aG docker $USER
# Log out and log in again for changes to take effect

Install the monitoring tool jetson-stats:

sudo apt install python3 python3-pip
sudo python3 -m pip install jetson-stats

# Show system stats
jtop

Power Mode from the Command Line

By default, the Jetson module ships in power mode 2, using maximum power of 30W with only 8 of 12 cores enabled. Modes are defined in /etc/nvpmodel.conf. The file is a symlink to the actual board definition in /etc/nvpmodel/*. Useful commands are listed below.

Query the current power mode:

sudo nvpmodel -q
NV Power Mode: MODE_30W
2

Switch to different power modes:

sudo nvpmodel -m 0 # Remove power limits
sudo nvpmodel -m 1 # 15W
sudo nvpmodel -m 2 # 30W
sudo nvpmodel -m 3 # 50W

To make these changes persistent across reboots, modify /etc/nvpmodel.conf to set the default power mode, and create /etc/default/cpufrequtils to set the CPU governor. This can also be done as follows:

sudo sed -i 's|< PM_CONFIG DEFAULT=2 >|< PM_CONFIG DEFAULT=0 >|' /etc/nvpmodel.conf
echo 'GOVERNOR="performance"' | tee /etc/default/cpufrequtils

Version Information

Check OS version:

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"

Check Jetson Linux & JetPack version:

cat /etc/nv_tegra_release
# R36 (release), REVISION: 3.0, GCID: 36923193, BOARD: generic, EABI: aarch64, DATE: Fri Jul 19 23:24:25 UTC 2024
# KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia