Installing IGX-Software

IGX-Software includes:

  • IGX-OS, which is based on Ubuntu. This is the main operating system running on IGX.

  • NVIDIA AI stack, which is installed on IGX-OS.

  • Firmware for BMC, Bootloader firmware (QSPI), Safety Microcontroller firmware, ConnectX-7 firmware, and HDMI IN firmware.

Enterprise support on IGX-Software is provided by NVIDIA AI Enterprise - IGX which is purpose-built for mission-critical applications and provides unmatched performance, security, stability, and long-term enterprise support for the entire software stack. IGX-Software is accessible via NVIDIA AI Enterprise - IGX subscription. Please refer following docs on more info on NVIDIA AI Enterprise - IGX.

IGX-Software is also publicly hosted for development and evaluation in the IGX Download center: https://developer.nvidia.com/igx-downloads

Installation steps in this document is the same irrespective whether IGX-Software is downloaded from NVIDIA AI Enterprise - IGX or via public hosted download center.

Before you install IGX-OS:

dev-kit-back.png

Developer Kit Back Panel

  1. Connect the Display to the DisplayPort output, labeled 8 in the figure above, for iGPU mode.

  2. Connect the Display to the PCIe Gen5 double width slot, labeled 14 in the figure above, dGPU mode.

  1. Turn on and boot up your IGX Developer kit.

  2. The boot process will show the UEFI splash screen, which will display the bootloader version as a string. For example:

    Copy
    Copied!
                

    UEFI firmware version 36.1.0-gcid-34862486 date 2023-11-16T21:00:16+00

Warning

If your developer kit is running a UEFI version built after Nov 16 2023, then you can proceed with installing IGX-OS. If your developer kit is running an earlier version, you must update the boot firmware before you can install IGX-OS. See Updating the Boot Firmware (QSPI).

Update the firmware in following order:

  1. Update the BMC firmware.

  2. Update the SMCU firmware.

  3. Update the Boot firmware (QSPI).

  4. Update the Connect-X 7 (CX7) firmware.

  5. Update the HDMI IN firmware (optional).

Updating the BMC Firmware

  1. Log in to the BMC.

  2. Follow the instructions here: BMC Firmware Update.

Note

Command to check the BMC version:

Copy
Copied!
            

root@mgx-3809:~# cat /etc/os-release ID=openbmc-phosphor NAME="NVIDIA MGX/IGX BMC (OpenBMC Project Reference Distro)" VERSION="IGXOrinBMC-23.11-02-v1.0" VERSION_ID=igxorinbmc-23.11-02-v1.0-0-g740ad1efa6.1699289677.6775017 PRETTY_NAME="NVIDIA MGX/IGX BMC (OpenBMC Project Reference Distro) IGXOrinBMC-23.11-02-v1.0" BUILD_ID="20231106165432" OPENBMC_TARGET_MACHINE="mgx-3809" BUILD_DESC="prod-platform

Updating the Safety Microcontroller (SMCU) Firmware

Warning

You must install the BMC Firmware update first.

IGX BMC can flash the SMCU Firmware and upgrade the SMCU.

SMCU FW

HW Board Revision

P3740-Aurix-StepB_C00.hexC TS3
P3740-Aurix-StepB_C01.hex QS2, CR
Note

The version of the IGX Developer Kit (TS3, QS2 or CR) can be found on the sticker on the developer kit or laser etched on the bottom.

To flash the SMCU, follow these steps:

  1. On the Host Machine: Download the SMCU firmware to your Linux host machine

  2. On the Host Machine: Extract SMCU firmware:

    Copy
    Copied!
                

    sudo tar xvjf smcu_ifw_R36.1.0_aarch64.tbz2

  3. On the Host Machine: Copy the SMCU firmware (.hex) extracted above to the IGX Developer Kit BMC using the scp tool:

    QS2/CR Example:

    Copy
    Copied!
                

    scp smcu/IFW/P3740-Aurix-StepB_C01.hex root@192.168.1.110:/etc/smcu-flash

    TS3 Example:

    Copy
    Copied!
                

    scp smcu/IFW/P3740-Aurix-StepB_C00.hex root@192.168.1.110:/etc/smcu-flash

  4. Log in to BMC.

  5. On the IGX Developer Kit - BMC: Stop the console service:

    Copy
    Copied!
                

    systemctl stop obmc-console\@ttyS2.service

  6. On the IGX Developer Kit - BMC: Go to the smcu-flash directory:

    Copy
    Copied!
                

    cd /etc/smcu-flash

  7. On the IGX Developer Kit - BMC: Flash SMCU firmware and provide the SMCU firmware file path:

    QS2/CR Example:

    Copy
    Copied!
                

    ./flash_tc39x.py ttyS2 921600 ./P3740-Aurix-StepB_C01.hex

    TS3 Example:

    Copy
    Copied!
                

    ./flash_tc39x.py ttyS2 921600 ./P3740-Aurix-StepB_C00.hex

  8. On the IGX Developer Kit - BMC: Start the console service when you have finished mcu-flash:

    Copy
    Copied!
                

    systemctl start obmc-console\@ttyS2.service

  9. On the IGX Developer Kit - BMC: Reset SMCU:

    Copy
    Copied!
                

    cd /etc/smcu-flash ./smcu-flash.sh smcu_reset

Note

Command to check the SMCU version:

Login to SMCU

Shell> version

Updating the Boot Firmware (QSPI)

Note

Use L4T Tegra BSP for this update.

  1. Connect the USB-C cable from the Linux Host to the USB-C connector, labeled 9 in the figure above.

  2. Put IGX in Recovery mode

  3. On the Host Machine: Download the L4T Tegra BSP to your Linux host: Jetson_Linux_R36.1.0_aarch64.

  4. On the Host Machine: Run these commands:

    Copy
    Copied!
                

    tar xvf Jetson_Linux_R36.1.0_aarch64.tbz2 cd Linux_for_Tegra sudo ./flash.sh p3740-0002-p3701-0008-qspi external

Updating the Connect-X 7 (CX7) Firmware

Note

CX7 firmware is updated from IGX OS. If you have not yet done so, install IGX OS before continuing.

  1. Download MLNX_OFED_LINUX-23.10-0.5.5.0-ubuntu22.04-aarch64.iso.

  2. Follow the instructions in https://docs.nvidia.com/networking/display/mlnxofedv461000/installing+mellanox+ofed#src-12013402_InstallingMellanoxOFED-InstallationProcedure

Updating the HDMI IN (Input) Firmware

Note

HDMI-IN firmware is updated from IGX OS. If you have not yet done so, install IGX OS before continuing.

Before using the HDMI in device of your devkit, ensure that it has the latest firmware by first downloading the firmware files from the Lontium website, or contact Nvidia Support.

Register an account and then download the following two files from the NVIDIA section on to your IGX:

Copy
Copied!
            

lontium_lt6911_flash_update LT6911UXC_RGB888

Note

It may take several days for Lontium to approve your registration.

  1. Extract the downloaded files on Tegra Linux with:

    Copy
    Copied!
                

    unrar e lontium_lt6911_flash_update.rar unrar e LT6911UXC_RGB888.rar

  2. Change the updater to be executable:

    Copy
    Copied!
                

    chmod a+x lontium_lt6911_flash_update

  3. 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_RGB888.bin

  4. Reboot the IGX.

Note

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

Copy
Copied!
            

sudo apt-get install v4l-utils

Warning

You must ensure you have Bootloader Firmware is updated before loading the IGX Base OS image. Checking Bootloader Firmware Version

Warning

Installing the IGX OS will erase the content of the SSD (NVMe) on the IGX. Please backup your data.

To install the IGX OS ISO image locally from a UEFI-bootable USB flash drive:

  1. Download the IGX OS ISO image.

  2. Create a bootable installation medium, such as a USB flash drive, that contains the image. See the Creating a Bootable USB Flash Drive by Using BalenaEtcher topic for detailed steps.

Warning

You must install Tegra Boot Firmware update first.

  1. Plug the USB flash drive containing the OS image into the IGX Developer Kit.

  2. Connect a monitor and keyboard directly to the IGX system’s iGPU or dGPU based on whether you are using iGPU mode or dGPU mode.

  3. Boot the system. Press F11 when the NVIDIA logo appears to access the boot menu.

  4. Select the USB volume name that corresponds to the inserted USB flash drive and boot the system from that drive.

  5. Continue to the IGX OS ISO Boot Options topic for a description of the GRUB menu options and for instructions on completing the installation process.

    • Install IGX OS (iGPU)

    • Install IGX OS (dGPU)

    grub_install_igx_os.png


The NVIDIA AI Stack can be installed on IGX-OS as debian packages OR as containers.

Debian Packages

iGPU

dGPU

Copy
Copied!
            

$ sudo apt update $ sudo apt install nvidia-igx-ai $ sudo apt --fix-broken install

Copy
Copied!
            

$ sudo apt update $ sudo apt install nvidia-igx-ai-rm $ sudo apt --fix-broken install

Containers

NVIDIA AI Stack containers include:

  • Tensorrt Container

  • Triton Container

  • Tensorflow Container

  • PyTorch Container

  • Holoscan Container

The container supported via NVIDIA AI Enterprise - IGX can be accessed with NVIDIA AI Enterprise - IGX subscription. Please refer to <> on more info on NVIDIA AI Enterprise - IGX.

These publicly hosted versions of the containers for development and evalutaion can be found on below locations on NVIDIA GPU Cloud (NGC):

Log in to the BMC

dev-kit-back.png

Developer Kit Back Panel

  1. Connect your Linux host machine and the developer kit with an Ethernet cable. Use the Ethernet port labeled 5 in the figure above.

  2. Find out which Ethernet adapter on the host machine is connected, then start static IP configuration.

  3. Configure the remote Ubuntu host machine Ethernet adapter as a static node. Thus, the Ubuntu Host can communicate to the BMC over the static IP address 192.168.1.110. Find the network adapter in ifconfig, which is connected to the RJ45 port of the NVIDIA IGX Orin Developer Kit, then configure it as a static route. The name can be em1 or eno1 or whatever you choose. As an example:

    Copy
    Copied!
                

    ifconfig eno1 192.168.1.1 netmask 255.255.255.0

  4. Test the connection to the BMC default IP address with either an SSH or ping.

  5. ssh root@192.168.1.110

Getting the Tegra UART Port

Warning

ssh port 2200 is the default to mux the UART to Tegra. Set bmc_gpio_n1 to 1 to switch it back to Tegra Linux, if you previously switched to SMCU.

  1. ssh root@192.168.1.110 -p 2200

Getting the SMCU UART Port

Warning

ssh port 2200 is default to mux the UART to Tegra. Setting the bmc_gpio_n1 to 0 will switch it to SMCU.

  1. Log in to BMC

  2. root@mgx:~# gpioset -m exit \`gpiofind "bmc_gpio_n1"\`=0

  3. ssh root@192.168.1.110 -p 2200

Put IGX into Recovery mode

From BMC

  1. Log in to BMC

  2. root@mgx:~# powerctrl recovery

From IGX OS

  1. Login to IGX OS.

  2. sudo reboot forced-recovery

Warning

To check if the IGX is in recovery mode, use the linux command lsusb and you should see a USB device with PID 7023. If you are still not able to see this USB device, a power cycle of the IGX is required.

Access all necessary downloads from the NVIDIA Developer Downloads pages: https://developer.nvidia.com/igx-downloads

Creating a Bootable USB Flash Drive using BalenaEtcher

BalenaEtcher https://etcher.balena.io/ currently supports:

  • Windows

  • MacOS

  • Linux

Follow these steps to create the bootable USB Flash drive:

  1. Download and launch the balenaEtcher https://etcher.balena.io/.

  2. Plug the USB flash drive into one of the USB ports of your Windows system.

  3. Click Flash from file, select the iso image you downloaded.

    balena_etcher_0.png

  4. Click Select target, select the USB flash drive you inserted this host.

    balena_etcher_1.png

  5. Click Flash!

Previous Software Releases
Next Installing Holopack (deprecated)
© Copyright 2024, NVIDIA. Last updated on Mar 1, 2024.