Install DRIVE OS Linux Debian Packages

Uninstall Steps for Local Repo Debian Packages

If you have previously installed DRIVE OS, the existing DRIVE OS first needs to be uninstalled. This will help maintain content integrity and avoid any conflicts.

To remove or uninstall, please follow these instructions:

sudo -E apt-get -y --purge remove "nv-driveos*"
sudo apt-get -y autoremove

Optional step: The DRIVE OS Debian Package uninstall will not remove any data from $NV_WORKSPACE.

If you want to remove, please follow the below instruction:

sudo rm -rf $NV_WORKSPACE

Installation Steps for Local Repo Debian Packages

Instructions for installing local repo Debian packages.

  1. To install the local repo Debian packages, use dpkg.

    sudo dpkg -i ./nv-driveos-repo-sdk-linux-[VERSION]-[GCID]_[VERSION]_amd64.deb
  2. Install top-level DRIVE OS SDK Debian packages:

    export NV_WORKSPACE=/path/where/SDK/needs/to/be/installed

    If using SDK Local Repo Debian packages:

    sudo -E apt -f -y install nv-driveos-build-[SDK]-[OS]-[RELEASE]-[GCID]
    2>&1 | tee nv-driveos-build-[SDK]-[OS]-[RELEASE]-[GCID]_install.log

After a successful installation of nv-driveos-build-[SDK]-[OS]-[RELEASE]-[GCID], the SDK install directory structure will be as following:

$NV_WORKSPACE directory structure Sub-directories
drive-foundation
firmware make platform-config security tools version-nv-sdk.txt virtualization
drive-linux
filesystem firmware include kernel lib-target make oss samples tools tests
drive-linux_src
3rdparty_dtc_src.tgz e2fsprogs-1.41.11.tar.gz jq-1.5.tar.gz kernel linuxptp.tgz NVIDIA-kernel-module-source-TempVersion.tar.xz wayland yocto
toolchains
aarch64--glibc--stable-2022.03-1 armv5-eabi--glibc--stable-2020.08-1 armv7-eabihf--glibc--stable-2020.08-1

Installation Steps for the Extra Packages

  1. Install the below CUDA 11.4 Debian packages for Linux available under the same folder.

    sudo dpkg -i ./cuda-repo-ubuntu2004-11-4-local_[CUDA-VERSION]-[DRIVER-VERSION]-1_amd64.deb
    sudo dpkg -i ./cuda-repo-cross-aarch64-ubuntu2004-11-4-local_[CUDA-VERSION]-1_all.deb
    sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/51997F51.pub
    sudo apt-key add /var/cuda-repo-cross-aarch64-ubuntu2004-11-4-local/32437944.pub
    sudo apt update
    sudo apt -y install cuda-toolkit-11-4 -y
    sudo apt -y install cuda-cross-aarch64-11-4 -y
  2. In case of any issue with the installation, remove old packages and reinstall.

    sudo rm /var/lib/apt/lists/_var_cuda*
    sudo apt --fix-broken install -y
    sudo apt autoremove -y
    sudo apt remove--purge -y "cuda*"
    sudo apt remove--purge -y "*cublas*"
    sudo apt remove--purge -y "*nsight*"
    sudo apt autoremove -y
  3. Install the cuDNN Debian packages for Linux:

    sudo apt install ./cudnn-local-repo-ubuntu2004-[CUDNN-VERSION].deb
    sudo apt-key add /var/cudnn-local-repo-ubuntu2004-[CUDNN-VERSION]/44B3C3AF.pub
    sudo apt update
    sudo apt install libcudnn8 -y
    sudo apt install libcudnn8-dev -y
    sudo apt install libcudnn8-samples -y
  4. Install the cuDNN Debian packages for cross-compiling on Linux:

    sudo apt install ./cudnn-local-repo-cross-aarch64-ubuntu2004-[CUDNN-VERSION].deb
    sudo apt-key add /var/cudnn-local-repo-cross-aarch64-ubuntu2004-[CUDNN-VERSION]/8DD81901.pub
    sudo apt update
    sudo apt install libcudnn8-cross-aarch64 -y
  5. Install TensorRT Debian packages for Linux:

    sudo dpkg -i nv-tensorrt-repo-ubuntu2004-cuda11.4-trt[RELEASE]-x86-host-[ea|ga]-[BUILD-DATE]_1-1_amd64.deb
    sudo apt-key add /var/nv-tensorrt-repo-ubuntu2004-cuda11.4-trt[RELEASE]-x86-host-[ea|ga]-[BUILD-DATE]/91acf5b1.pub
    sudo apt update
    sudo apt install tensorrt -y
  6. Install TensorRT Debian packages for cross-compiling on Linux:

    sudo dpkg -i nv-tensorrt-repo-ubuntu2004-cuda11.4-trt[RELEASE]-d6l-cross-ga-20221229_1-1_amd64.deb
    sudo apt-get install tensorrt-cross-aarch64 -y 

Flash DRIVE OS Linux

Instructions for BIND PCT

cd $NV_WORKSPACE/drive-foundation
./make/bind_partitions -b <board-variant> linux
Note: Please refer to DRIVE Platform Supported Boards to identify your board variant.

Instructions for Flashing

  1. Put the DRIVE AGX system into reset mode from the Aurix MCU console.

    Connect to the Aurix MCU console:

    sudo minicom -w -D /dev/ttyACM1

    From the Aurix MCU console:

    tegrarecovery x1 on
    tegrareset x1
  2. Flash:

    tools/flashtools/bootburn/bootburn.py -b <board-variant> -B qspi
Note: You do not need to use sudo for the following commands:
  • bootburn.py
  • create_bsp_images.py
  • flash_bsp_images.py
However, if you choose to use sudo for one, use it consistently with the others. Do not switch between sudo/non-sudo usage.
Note: Please refer to DRIVE Platform Supported Boards to identify your board variant.