Jetson AGX Thor Setup
This guide covers the required steps to set up an NVIDIA Jetson AGX Thor. The Jetson runs NVIDIA 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 Jetson Linux Developer Guide is a good reference for further details.
Post-Installation Setup
Note
The following steps can also be executed via:
./scripts/configure-system.agx-thor.sh
Update packages and install dependencies:
sudo apt update
sudo apt dist-upgrade -y
sudo apt install -y apt-utils coreutils git-core git cmake build-essential \
bc libssl-dev python3 python3-pip ninja-build ca-certificates curl \
pandoc nvidia-jetpack
Configure CUDA paths:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
Download the Sionna Research Kit:
cd ~ # We assume sionna-rk is cloned in the home directory
git clone --recurse-submodules https://github.com/NVlabs/sionna-rk.git
Docker Installation
Install Docker from the official Docker repository:
# Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker and plugins
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Add user to docker group
sudo usermod -aG docker $USER
# Log out and log in again for changes to take effect
NVIDIA Container Toolkit
Install the NVIDIA Container Toolkit for GPU support in Docker:
# Add NVIDIA Container Toolkit repository
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# Install the toolkit
sudo apt update
sudo apt install -y libnvidia-container-tools libnvidia-container1 \
nvidia-container-toolkit nvidia-container-toolkit-base
# Configure Docker runtime
sudo nvidia-ctk runtime configure --runtime=docker
Configure Docker service for Thor:
# Create Docker service override
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
Environment="DOCKER_INSECURE_NO_IPTABLES_RAW=1"
EOF
# Restart Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
Set the following environment variables:
export SRK_PLATFORM="AGX Thor"
export SRK_THREAD_POOL="9,10,11,12,13"
export SRK_UE_THREAD_POOL="4,5"
TensorRT Installation
Install TensorRT and monitoring tools:
sudo apt install -y cuda-toolkit tensorrt
# Add trtexec alias for convenience
echo 'alias trtexec=/usr/src/tensorrt/bin/trtexec' >> ~/.bash_aliases
Quectel Modem Compatibility
If you want to connect a Quectel modem via USB to the Jetson AGX Thor, you need to build a custom kernel with the qmi_wwan kernel module. Note that this is only needed if the Thor acts as user equipment (UE).
This can be automatically done by running the following command:
./scripts/build-custom-kernel.sh
./scripts/install-custom-kernel.sh
This will build and install the custom kernel (see Custom Jetson Linux Kernel for details). Reboot the system for the changes to take effect.
Version Information
Check OS version:
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.3 LTS"
Check Jetson Linux & JetPack version:
cat /etc/nv_tegra_release
# R38 (release), REVISION: 2.1, GCID: 42061081, BOARD: generic, EABI: aarch64, DATE: Wed Sep 10 19:49:31 UTC 2025
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia