Install IGX-Software#

IGX-Software includes:

  • IGX OS is the main operating system running on IGX. It is based on the LTS version of Ubuntu.

  • NVIDIA AI stack, which is installed on IGX OS and supported by NVIDIA AI Enterprise-IGX.

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

The IGX LTS 2.0 software versions are available from the NGC Catalog. Other IGX software is publicly hosted for development and evaluation in the IGX Download Center.

The installation procedures in this document are the same whether IGX-Software is downloaded from NVIDIA AI Enterprise - IGX or from a public hosted download center.

Connect a Display for Software Installation#

To connect a display for software installation, see Connect a Display to Your Dev Kit.

Check the Bootloader Firmware Version#

Before you install IGX-OS, you must check the firmware version.

  • If your developer kit bootloader firmware is UEFI firmware version 36.3.1-gcid-36302503 built on 2024-05-17T04:47:03+00:00 or newer, proceed to installing IGX-OS.

  • If your developer kit bootloader firmware is an older version you must update it before you can install IGX-OS.

To check your bootloader firmware version, do the following:

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

  2. There are two options:

    • Option 1 — The UEFI splash screen appears, and you see a bootloader version message similar to the following:

      UEFI firmware version 36.3.1-gcid-36302503 built on 2024-05-17T04:47:03+00:00

    • Option 2 — Login to the IGX OS and run the highlighted commands.

      1cat /sys/class/dmi/id/bios_version
      236.3.1-gcid-36302503
      3
      4cat /sys/class/dmi/id/bios_date
      505/17/2024
      
  3. If necessary, update your boot firmware by following the update order and instructions in Firmware and OS Updates.

Firmware and OS Updates#

Update the firmware and OS in following order:

  1. Update the BMC firmware.

  2. Update the MCU firmware.

  3. Update the Boot firmware (QSPI).

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

  5. Update the HDMI IN firmware (optional).

  6. Update the IGX OS.

Warning

You must follow this order or your IGX might hang during boot.

Update the BMC Firmware#

Use the following procedure to update the BMC firmware.

  1. Log in to the BMC and check the version.

  2. Follow the instructions here if your BMC version is older than the version below: Update Your BMC Firmware.

Note

Command to check the BMC version:

root@mgx-3809:~# cat /etc/os-release

ID=openbmc-phosphor

NAME="NVIDIA MGX/IGX BMC (OpenBMC Project Reference Distro)"

VERSION="IGXOrinBMC-24.04-11-v3.2"

VERSION_ID=igxorinbmc-24.04-11-v3.2-0-g1f7f8057b43.1713949685.0770278

PRETTY_NAME="NVIDIA MGX/IGX BMC (OpenBMC     Project Reference Distro) IGXOrinBMC-24.04-11-v3.2"

BUILD_ID="20240424090802"

OPENBMC_TARGET_MACHINE="mgx-3809"

BUILD_DESC="prod-platform

Update the MCU Firmware#

Use the following procedure to update the Microcontroller (MCU) Firmware.

Warning

You must install the BMC Firmware update first.

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

MCU 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 MCU, follow the instructions here: Update your MCU firmware.

Note

Command to check the MCU version:

Login to MCU

Shell> version

Update the Boot Firmware (QSPI)#

To flash the Boot Firmware (QSPI), follow the instructions here: Update your QSPI firmware.

Update the Connect-X 7 (CX7) Firmware#

You can update the CX7 from the IGX OS.

Note

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

  1. Download or copy the .iso to the IGX.

  2. Mount the ISO image on your machine.

    Open a terminal on the IGX developer kit to the directory where the .iso was downloaded. Then mount the .iso:

    mount -o ro,loop MLNX_OFED_LINUX-23.10-2.1.3.1-ubuntu22.04-aarch64.iso /mnt
    
  3. Run the following command to update the CX7 firmware:

    /mnt/mlnxofedinstall --fw-update-only
    

Update the HDMI IN (Input) Firmware#

Before you use the HDMI in device of your devkit, ensure that it has the latest firmware.

Note

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

  1. Register an account with Lontium.

    Note

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

  2. Downloading the firmware files from the Lontium website, or contact Nvidia Support. Download the following two files from the NVIDIA section on to your IGX.

    • lontium_lt6911_flash_update

    • LT6911UXC_RGB888

  3. Extract the downloaded files on Tegra Linux by running the following code.

    1unrar e lontium_lt6911_flash_update.rar
    2unrar e LT6911UXC_RGB888.rar
    
  4. Change the updater to be executable:

    chmod a+x lontium_lt6911_flash_update
    
  5. If you do not have v4l2-ctl, run the following command.

    1sudo apt-get install v4l-utils
    
  6. To power the HDMI in chip and flash it with the firmware file, run the following code.

    1v4l2-ctl -d /dev/video0 --stream-mmap &
    2sudo ./lontium_lt6911_flash_update 2 0x2b LT6911UXC_RGB888.bin
    
  7. Reboot the IGX.

Warning

The HDMI in firmware does not support hot-plugging. For details, see Troubleshoot Your Dev Kit.

Install the IGX OS Image#

You must ensure you have Bootloader Firmware is updated before loading the IGX Base OS image. For details, see Check the 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 Create a Bootable USB Flash Drive by Using BalenaEtcher topic for detailed steps.

Boot the IGX OS ISO image#

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)

    _images/grub_install_igx_os.png

Install the NVIDIA AI Stack#

You can install the NVIDIA AI Stack on IGX-OS as Debian packages or as containers.

Caution

If you install by using Debian packages, the size of the installation is approximately 11 gigabytes.

Debian Packages#

The Debian packages for LTS 2.0 are made available through a secured NGC catalog and accessed using a personal API key. This section describes how to generate the key and use it to access the packages.

  • Generate Personal API Key

    1. Navigate to Personal Keys Setup.

    2. Select + Generate Personal Key in the upper-right corner.

    3. Specify values for the Key Name and Expiration fields that match your needs. For the Services Included field, specify NGC Catalog.

    4. Select Generate Personal Key to generate the key.

    5. The key value is only displayed once, so copy it to a secure location immediately. You will use it in the next step.

  • Activate the Setup Environment and Install Packages

    1. In a terminal window, enter the following command, substituting your personal key from the previous step. This generates a temporary access token that contains your account credentials.

      authxsentry <personal-api-key>
      

      Important

      This temporary access token that is valid for 24 hours. Repeat the command each time you need a new token.

    2. Install the packages that are relevant to your hardware environment.

      iGPU

      dGPU

      sudo apt update
      sudo apt install nvidia-igx-ai
      sudo apt --fix-broken install
      
      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

  • PyTorch Container

  • Holoscan Container

The container supported via NVIDIA AI Enterprise - IGX can be accessed with NVIDIA AI Enterprise - IGX subscription.

The LTS versions of the containers for development and evaluation can be found on below locations on NVIDIA GPU Cloud (NGC):

Further References#

Log in to the BMC#

Developer Kit Back Panel

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:

    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

The first time you log in, you are prompted to change the password: add default password “0penBmc (here, the first character is '0' zero)”

Get the Tegra UART Port#

Warning

ssh port 2200 is the default to mux the UART to Tegra. Set gpiochip0 60 to 1 to switch it to Tegra Linux.

  1. Log in to BMC

  2. root@mgx:~# gpioset -m exit gpiochip0 60=1

  3. ssh root@192.168.1.110 -p 2200

Get the MCU UART Port#

Warning

ssh port 2200 is default to mux the UART to Tegra. Set gpiochip0 60 to 0 to switch to MCU.

  1. Log in to BMC

  2. root@mgx:~# gpioset -m exit gpiochip0 60=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 downloads from the IGX Download Center.

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

    _images/balena_etcher_0.png
  4. Click Select target, select the USB flash drive you inserted this host.

    _images/balena_etcher_1.png
  5. Click Flash!