Software Stack on IGX has moved to IGX-SW. Holopack on IGX is now deprecated. It is recommended to move from Holopack to IGX-SW. Read the Software Releases Section of this guide for more on IGX-SW.
The NVIDIA IGX Orin Developer Kit should may have Holopack installed from the factory, if the the devkits is booting up to a desktop.
Follow the instructions in the Section: Interactive Installation of Holopack to complete the setup before using your developer kit.
Once powered up, open the terminal to check for the currently installed L4T base image version by issuing either of the following commands.
$ sudo apt policy nvidia-l4t-core
$ cat /etc/nv_tegra_release
You should see an output with the L4T release version. In the example below, the release version is 35.4.0.
nvidia@nvidia-desktop:~$ sudo apt policy nvidia-l4t-core
[sudo] password for nvidia:
nvidia-l4t-core:
Installed: 35.4.0-20230522111008
Candidate: 35.4.0-20230522111008
Version table:
*** 35.4.0-20230522111008 600
600 https://repo.download.nvidia.com/jetson/dgpu-rm r35.4.hp/main arm64 Packages
100 /var/lib/dpkg/status
nvidia@nvidia-desktop:~$ cat /etc/nv_tegra_release
# R35 (release), REVISION: 4.0, GCID: 33352811, BOARD: t186ref, EABI: aarch64, DATE: Mon May 22 18:18:27 UTC 2023
After checking the L4T version, you can decide whether a re-flashing is needed for the Holopack you want to install.
L4T release | Revision | HP version |
R35 | 4.0 | 2.0 DP |
R36 | 0.0 | 2.1 EA |
R36 | 1.0 | 2.1 DP |
If you have a TS2, TS3, QS2, CR build of the IGX Developer Kit, the factory image preinstalled on the system is HP 2.0 DP (R35). To use the latest software (R36), follow the instructions in Re-flashing the Developer Kit.
The following are needed to complete the setup of the default Holopack installation:
A compatible power cable. The NVIDIA IGX Orin Developer Kit may not include a power cable compatible with your local electrical requirements.
Connection to the internet.
A keyboard, mouse, and monitor with DisplayPort.
Power up the system to start booting Holopack.
Set up System Configuration:
Accept the L4T_End_User_License_Agreement
Select system language
Select keyboard layout
Select the time zone
Set up your username and password
Enter the APP partition size when prompted.
Reboot the system when prompted.
Log in with the username and password you selected in Step 2.
NoteIf the Display port is attached to the discrete GPU and you do not see the NVIDIA splash screen during reboot, the GPU firmware must be updated. Refer to the NVIDIA IGX Orin Developer Kit dGPU Installation Guidelines (DA-11330-001) and NVIDIA IGX Orin dGPU NVFLASH User Guidelines (DA-11365-001) on the NVIDIA Product information database for details on updating the GPU firmware.
Once you have logged into the desktop, you will be prompted to install an NVIDIA GPU driver.
The prompt asks if you want to install the GPU stack that is detected based on the DP cable connection.
NoteThe developer kit can only have either the iGPU stack or the dGPU stack installed. If your developer kit has a RTX A6000 and you opt to install the iGPU stack, the dGPU will not be utilized.
If you accidentally connected the DP cable to the Orin module (8) instead of the discrete GPU (14), you will be asked if you want to install the iGPU stack.
Click “No”, reboot the developer kit, and move the DP cable to one of the four DP ports (14).
After rebooting you will be prompted to install the dGPU software. Click Yes to continue:
Figure 5-1. Prompt to Install dGPU
Otherwise, select Yes to install the iGPU software:
Figure 5-2. Prompt to Install iGPU
Enter your user’s password when prompted to complete Holopack installation.
Figure 5‑3 shows a screenshot at the end of a successful installation.
Figure 5-3. Screenshot of dGPU Stack Installation
Reboot when prompted. Now you’re ready to use your IGX Orin Developer Kit!
Use the following commands to check which GPU stack is installed:
$ lsmod | grep nv
If the iGPU stack is installed, the output should contain nvgpu:
$ lsmod | grep nv nvidia_modeset 1093632 6 nvadsp 110592 1 snd_soc_tegra210_adsp nvidia 1339392 13 nvidia_modeset nvgpu 2494464 32 nvmap 192512 146 nvgpu
Use the nvidia-smi command to validate that the dGPU software stack installed successfully:
$ nvidia-smi Wed Mar 1 19:13:09 2023 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 520.61.05 Driver Version: 520.61.05 CUDA Version: 11.8 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA RTX A6000 On | 00000005:09:00.0 On | Off | | 30% 39C P8 14W / 300W | 50MiB / 49140MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 1301 G /usr/lib/xorg/Xorg 40MiB | | 0 N/A N/A 1465 G /usr/bin/gnome-shell 7MiB | +-----------------------------------------------------------------------------+
If you have the additional RTX A6000 dGPU in your system and would like to switch between the iGPU stack and dGPU stack, re-flashing is required.
There are two scenarios where re-flashing is required:
Switching a deployed developer kit between iGPU and dGPU mode
Recovering a non-functioning developer kit
The following options are supported for re-flashing:
Manual re-flashing with files downloaded from DevZone.
Both re-flashing methods require a separate system (the “flash host”) running an Ubuntu Linux operating system.
The re-flash procedures have the following prerequisites:
A compatible power cable.
ImportantThe NVIDIA IGX Orin Developer Kit may not include a power cable compatible with your local electrical requirements.
Connection to the internet
A keyboard, mouse, and monitor with DisplayPort
A standard USB-A to USB-C cable with data enabled (this should come with the Developer Kit box)
A flash host running an Ubuntu operating system
Connection to the internet from the flash host
The manual re-flash process uses NVIDIA utilities to flash the operating system and firmware directly onto the IGX Orin Developer Kit.
Download the file 35.4.0_bsp_+_sample_rfs.zip from NVIDIA DevZone to your x86 flash system. Unzip the zip file.
wget https://developer.nvidia.com/downloads/embedded/l4t/35.4.0_bsp_+_sample_rfs.zip unzip 35.4.0_bsp_+_sample_rfs.zip
Extract the build directory archive contained in the zip file onto the flash host.
tar xvf Jetson_Linux_R35.4.0_aarch64.tbz2
Extract the sample root file system contained in the zip file into the build directory.
cd Linux_for_Tegra/rootfs/ sudo tar xvf ../../Tegra_Linux_Sample-Root-Filesystem_R35.4.0_aarch64.tbz2
Configure the flash image.
cd .. sudo ./apply_binaries.sh --factory
Connect the NVIDIA IGX Orin Developer Kit to the host system via USB-C port (9).
Put the IGX into recovery mode. (See Putting the System into Recovery Mode via BMC)
Flash the developer kit.
sudo env ADDITIONAL_DTB_OVERLAY="DgpuDtEfifbSupport.dtbo" ./flash.sh igx-orin-devkit internal
NoteIf you run into the error: ERROR: might be timeout in USB write during flashing, please see Troubleshooting.
Continue with the Interactive Installation of Holopack to complete system setup.
SSD Storage
With Release R36 1.0 (HP 2.1 DP) and later, the filesystem defaults to SSD install. This section can be skipped.
The IGX Orin Developer Kit includes a 500GB solid-state drive (SSD), though this drive is not partitioned or mounted by default. Since a complete installation of Holopack leaves about 40-50GB of storage remaining in the root 64GB, you can optionally configure the SSD as Docker storage to it to avoid filling up the root directory rapidly with Docker image pull operations.
Setting up the SSD Storage
This section outlines the steps to partition and format the drive for use after the initial Holopack installation.
If the developer kit is re-flashed with a new Holopack image, the partition table of the m.2 drive will not be modified and the contents of the partition will be retained. In this case, you can skip the steps described in the Create a Partition section.
However, you should still follow the steps described in the Mount the Partition section to remount the partition.
Create a Partition
This procedure assumes the m.2 drive is identified by the IGX Orin Developer Kit as /dev/nvme0n1. You can check the device name with the following command:
$ readlink /dev/disk/by-path/platform-14160000.pcie-pci-0004\:01\:00.0-nvme-1
If this symlink command outputs something other than ../../nvme0n1, replace all instances of nvme0n1 in these instruction with the identifier used by your system.
Create a partition table on the SSD device:
sudo parted -a optimal /dev/nvme0n1 mklabel gpt
Create a new primary partition:
sudo parted -a optimal /dev/nvme0n1 mkpart primary ext4 0% 100%
Initialize the ext4 filesystem on the new partition:
sudo mkfs -t ext4 /dev/nvme0n1p1
Mount the Partition
Create a directory for the mount point. These instructions will use the path /media/m2, but any path can be used.
sudo mkdir /media/m2
Determine the UUID of the new partition following output shows that the UUID of the /dev/nvme0n1p1 partition is 7f41ff99-6b67-4e5c-af16-7af409579440:
sudo blkid -s UUID -o value /dev/nvme0n1p1 7f41ff99-6b67-4e5c-af16-7af409579440
Add the fstab entry. Using the mount path and the UUID from the previous steps, add the following line to the end of /etc/fstab:
*# <file system> <mount point> <type> <options> <dump> <pass>* ... UUID=7f41ff99-6b67-4e5c-af16-7af409579440 /media/m2 ext4 defaults 0 2
Mount the partition. The /etc/fstab entry above will mount the partition automatically at boot time. Use the mount command to mount the partition immediately. Use df to verify the mount.
sudo mount -a df -h /dev/nvme0n1p1 Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 458G 73M 435G 1% /media/m2
Setting Up Docker Storage on the SSD
Install Docker and NVIDIA Container Toolkit if they have not been installed on your system.
Create a Docker data directory on the new m.2 SSD partition. This is where Docker will store build cache and container images. These instructions use the path /media/m2/docker-data, but you can use another directory name if preferred.
sudo mkdir /media/m2/docker-data
Configure Docker to use the new data root by writing the following to /etc/docker/daemon.json:
{ "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia", "data-root": "/media/m2/docker-data" }
Restart the Docker daemon:
sudo systemctl daemon-reload sudo systemctl restart docker
Add the current user to the Docker group so Docker commands can run without sudo.
# Create the docker group. sudo groupadd docker # Add your user to the docker group. sudo usermod -aG docker $USER # Activate the changes to groups. Alternatively, reboot or re-login. newgrp docker
Verify that you can run a “hello world” container.
docker run hello-world
Updating HDMI In (Input) Firmware
Before using the HDMI in device of your devkit, you should ensure that it has the latest firmware by first downloading the firmware files from Lontium website.
You will need to register an account and then download the following two files from the NVIDIA section:
Lontium_lt6911_flash_update
LT6911UXC_1080P_CSI_1Port_RGB_V2_9
First, extract the downloaded files with:
unrar e Lontium_lt6911_flash_update.rar unrar e LT6811UXC1080PCSI_1P_RGBV2_9.rar
Next, run the following to power the HDMI in chip and flash it with the firmware file:
v4l2-ctl -d /dev/video0 --stream-mmap & sudo ./lontium_lt6911_flash_update 2 0x2b LT6911UXC_1080P_CSI_1Port_RGB_V2_9.bin
If you do not have v4l2-ctl
, it can be installed with:
sudo apt-get install v4l-utils