Set Up DRIVE OS QNX with NVIDIA GPU Cloud (NGC)
Begin by referring to the instructions in Set Up Docker and NVIDIA GPU Cloud Access, then proceed with the following installation guide for DRIVE OS QNX.
Images Available in This Release
The following images will be available on NGC in this release:
File Name | Intent |
---|---|
drive-agx-orin-qnx-aarch64-sdk-build-x86:latest | Build and Flash DRIVE OS 6.0.6 QNX SDK |
Pull Docker Images from NGC
This example pulls and uses the following NVIDIA DRIVE SDK build/flash image:
-
Log into the NVIDIA GPU Cloud (NGC) using instructions in the previous section.
-
On the host system, pull the image using the following command:
Note:${MY_NGC_ORG}
is the NGC Organization allocated for your team.sudo docker pull nvcr.io/${MY_NGC_ORG}/driveos-sdk/drive-agx-orin-qnx-aarch64-sdk-build-x86:latest
Instructions for Running QNX SDK Docker
Use the following command template to start the container, mount an existing QNX SDP installation, and cross-compile CUDA and TensorRT samples:
sudo docker run -it --privileged --net=host -v /dev/bus/usb:/dev/bus/usb -v <path/to/sdp>:/sdp -v <path/to/license>:/root/.qnx -v <path/samples>:/samples -e QNX_TOP=/drive/drive-qnx/ -e QNX_BASE=/sdp -e QNX_TARGET=/sdp/target/qnx7 -e QNX_HOST=/sdp/host/linux/x86_64 -e PATH=/sdp/host/linux/x86_64/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -e CUDA_INSTALL_DIR=/usr/local/cuda-safe-11.4 -e CUDA_PATH=/usr/local/cuda-safe-11.4 -e QNX_SDK_PATH=/drive/drive-qnx/ -e QNX_VERSION=7.1.0 nvcr.io/drive/driveos-sdk/drive-agx-orin-qnx-aarch64-sdk-build-x86:latest
For example:
sudo docker run -it --privileged --net=host -v /dev/bus/usb:/dev/bus/usb -v /home/user/p4/sw/tools/embedded/qnx/qnx710-ga1/:/sdp -v /home/user/.qnx:/root/.qnx -v /home/user/samples/:/samples -e QNX_TOP=/drive/drive-qnx/ -e QNX_BASE=/sdp -e QNX_TARGET=/sdp/target/qnx7 -e QNX_HOST=/sdp/host/linux/x86_64 -e PATH=/sdp/host/linux/x86_64/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -e CUDA_INSTALL_DIR=/usr/local/cuda-safe-11.4 -e CUDA_PATH=/usr/local/cuda-safe-11.4 -e QNX_SDK_PATH=/drive/drive-qnx/ -e QNX_VERSION=7.1.0 nvcr.io/nv-drive-internal/driveos-qnx-pdk-dev/drive-agx-orin-qnx-aarch64-pdk-build-x86:latest
Enter all subsequent commands at the Docker container command prompt.
Flash DRIVE OS QNX
Use the procedures in this section to flash DRIVE OS 6.0.6 SDK QNX to the target system from the Docker container.
Flash Using the DRIVE OS Docker Container
-
Log on to the NVIDIA GPU Cloud (NGC). If you need to download a DRIVE OS Docker image, use the procedures in the Set Up Docker and NVIDIA GPU Cloud Access section of this document.
-
Connect NVIDIA DRIVE™ AGX to the host system.
Note: Ensure that NVIDIA DRIVE AGX is connected to the host system, and that no other processes, such as TCUMuxer or Minicom are holding a lock on/dev/ttyACM*
before starting the Docker container. -
Start the DRIVE OS Docker container and flash DRIVE OS onto the NVIDIA DRIVE AGX using the following command.
sudo docker run -it --privileged --net=host -v /dev/bus/usb:/dev/bus/usb -v /drive_flashing:/drive_flashing
nvcr.io/${MY_NGC_ORG}/driveos-sdk/drive-agx-orin-qnx-aarch64-sdk-build-x86:latest
Instructions for Flashing
Put the DRIVE AGX system into reset mode from the Aurix MCU console.
-
Flash with flash.py:
./flash.py /dev/ttyACM1 p3710
/dev/ttyACM1
is the default port for the DRIVE
AGX Orin Developer Kit on the x86 Host system if only one
Developer Kit or another USB device is connected. If there are
additional devices in this device range, please disconnect them
before flashing.
<path>/samples
must
be shared between the host PC and the Docker Container for NFS mount on the QNX
target. Finalize DRIVE AGX System Setup (QNX)
Please note when installing DRIVE OS, the DP display will not be activated when flashing is completed. The user must connect to the DRIVE AGX platform console via a terminal emulator to determine when flashing has been completed, and to complete the platform setup.
Instructions for connecting a terminal emulator to the platform are in the DRIVE OS 6.0 QNX Developer Guide sections "Using tcu_muxer" and "Terminal Emulation."First, begin by referring to Finalize DRIVE AGX Orin System Setup.
Setup Networking for SSH and NFS.
Install and configure the DHCP server on the Linux host.
Install and configure the NFS server on the Linux host.
Set up the Host/Target networking interface. Connect the RJ45 connector to the Linux Host machine Ethernet port. For more information, see DRIVE OS 6.0 QNX Developer Guide section "Setting Up Networking on the Host and Target."
Setup Environment Variables.
Refer to Prerequisites.