Installing Holopack (deprecated)

Note

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.

Copy
Copied!
            

$ 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.

Copy
Copied!
            

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
Note

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.

  1. Power up the system to start booting Holopack.

  2. Set up System Configuration:

    1. Accept the L4T_End_User_License_Agreement

    2. Select system language

    3. Select keyboard layout

    4. Select the time zone

    5. Set up your username and password

    6. Enter the APP partition size when prompted.

  3. Reboot the system when prompted.

  4. Log in with the username and password you selected in Step 2.

    Note

    If 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.


  5. Once you have logged into the desktop, you will be prompted to install an NVIDIA GPU driver.

    1. The prompt asks if you want to install the GPU stack that is detected based on the DP cable connection.

      Note

      The 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).

    2. After rebooting you will be prompted to install the dGPU software. Click Yes to continue:

      image8.png

      Figure 5-1. Prompt to Install dGPU

    3. Otherwise, select Yes to install the iGPU software:

      image9.png

      Figure 5-2. Prompt to Install iGPU

  6. Enter your user’s password when prompted to complete Holopack installation.

    Figure 5‑3 shows a screenshot at the end of a successful installation.

    image10.png

    Figure 5-3. Screenshot of dGPU Stack Installation

  7. Reboot when prompted. Now you’re ready to use your IGX Orin Developer Kit!

  1. Use the following commands to check which GPU stack is installed:

    Copy
    Copied!
                

    $ lsmod | grep nv


  2. If the iGPU stack is installed, the output should contain nvgpu:

    Copy
    Copied!
                

    $ 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


  3. Use the nvidia-smi command to validate that the dGPU software stack installed successfully:

    Copy
    Copied!
                

    $ 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:

  1. Switching a deployed developer kit between iGPU and dGPU mode

  2. Recovering a non-functioning developer kit

The following options are supported for re-flashing:

  1. Manual re-flashing with files downloaded from DevZone.

Note

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.

    Important

    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

  • 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.

  1. Download the file 35.4.0_bsp_+_sample_rfs.zip from NVIDIA DevZone to your x86 flash system. Unzip the zip file.

    Copy
    Copied!
                

    wget https://developer.nvidia.com/downloads/embedded/l4t/35.4.0_bsp_+_sample_rfs.zip unzip 35.4.0_bsp_+_sample_rfs.zip


  2. Extract the build directory archive contained in the zip file onto the flash host.

    Copy
    Copied!
                

    tar xvf Jetson_Linux_R35.4.0_aarch64.tbz2


  3. Extract the sample root file system contained in the zip file into the build directory.

    Copy
    Copied!
                

    cd Linux_for_Tegra/rootfs/ sudo tar xvf ../../Tegra_Linux_Sample-Root-Filesystem_R35.4.0_aarch64.tbz2


  4. Configure the flash image.

    Copy
    Copied!
                

    cd .. sudo ./apply_binaries.sh --factory


  5. Connect the NVIDIA IGX Orin Developer Kit to the host system via USB-C port (9).

  6. Put the IGX into recovery mode. (See Putting the System into Recovery Mode via BMC)

  7. Flash the developer kit.

    Copy
    Copied!
                

    sudo env ADDITIONAL_DTB_OVERLAY="DgpuDtEfifbSupport.dtbo" ./flash.sh igx-orin-devkit internal

    Note

    If you run into the error: ERROR: might be timeout in USB write during flashing, please see Troubleshooting.


  8. Continue with the Interactive Installation of Holopack to complete system setup.

SSD Storage

Note

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.

Note

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

Note

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:

Copy
Copied!
            

$ 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.

  1. Create a partition table on the SSD device:

    Copy
    Copied!
                

    sudo parted -a optimal /dev/nvme0n1 mklabel gpt


  2. Create a new primary partition:

    Copy
    Copied!
                

    sudo parted -a optimal /dev/nvme0n1 mkpart primary ext4 0% 100%


  3. Initialize the ext4 filesystem on the new partition:

    Copy
    Copied!
                

    sudo mkfs -t ext4 /dev/nvme0n1p1


Mount the Partition

  1. Create a directory for the mount point. These instructions will use the path /media/m2, but any path can be used.

    Copy
    Copied!
                

    sudo mkdir /media/m2


  2. Determine the UUID of the new partition following output shows that the UUID of the /dev/nvme0n1p1 partition is 7f41ff99-6b67-4e5c-af16-7af409579440:

    Copy
    Copied!
                

    sudo blkid -s UUID -o value /dev/nvme0n1p1 7f41ff99-6b67-4e5c-af16-7af409579440


  3. 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:

    Copy
    Copied!
                

    *# <file system> <mount point> <type> <options> <dump> <pass>* ... UUID=7f41ff99-6b67-4e5c-af16-7af409579440 /media/m2 ext4 defaults 0 2


  4. 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.

    Copy
    Copied!
                

    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

  1. Install Docker and NVIDIA Container Toolkit if they have not been installed on your system.

  2. 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.

    Copy
    Copied!
                

    sudo mkdir /media/m2/docker-data


  3. Configure Docker to use the new data root by writing the following to /etc/docker/daemon.json:

    Copy
    Copied!
                

    { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia", "data-root": "/media/m2/docker-data" }


  4. Restart the Docker daemon:

    Copy
    Copied!
                

    sudo systemctl daemon-reload sudo systemctl restart docker


  5. Add the current user to the Docker group so Docker commands can run without sudo.

    Copy
    Copied!
                

    # 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


  6. Verify that you can run a “hello world” container.

    Copy
    Copied!
                

    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

  1. First, extract the downloaded files with:

    Copy
    Copied!
                

    unrar e Lontium_lt6911_flash_update.rar unrar e LT6811UXC1080PCSI_1P_RGBV2_9.rar


  2. Next, run the following to power the HDMI in chip and flash it with the firmware file:

    Copy
    Copied!
                

    v4l2-ctl -d /dev/video0 --stream-mmap & sudo ./lontium_lt6911_flash_update 2 0x2b LT6911UXC_1080P_CSI_1Port_RGB_V2_9.bin


Note

If you do not have v4l2-ctl, it can be installed with:

Copy
Copied!
            

sudo apt-get install v4l-utils

Previous Installing IGX-Software
Next Install the Holoscan SDK
© Copyright 2024, NVIDIA. Last updated on Mar 1, 2024.