Can't Install NVIDIA Driver and package that requires linux-headers-6.1.119-rt45-rt-tegra

DRIVE OS Version: DRIVE OS version 7.0.3

Issue Description:

I am trying to install Ollama on a Docker container on Drive AGX Thor (DriveOS 7.0.3). However, I am facing the following issues and cannot complete the installation:

  1. When I create the Docker image, I encounter the following error during Ollama installation.
    E: Unable to locate package linux-headers-6.1.119-rt45-rt-tegra
    E: Couldn’t find any package by glob ‘linux-headers-6.1.119-rt45-rt-tegra’
    E: Couldn’t find any package by regex ‘linux-headers-6.1.119-rt45-rt-tegra’

    On Jetson AGX Orin, I was able to resolve this by copying the host’s nv_tegra_release file into the container. However, I have not been able to find nv_tegra_release on Drive AGX Thor. Is there a way to generate nv_tegra_release or any other method to resolve this issue?

  2. I want to install the NVIDIA driver on the host to allow the Docker container to use the NVIDIA driver. However, when I run the ubuntu-drivers devices command, no recommended drivers are shown, so I cannot install the NVIDIA driver. I have also tried adding repositories(ppa:graphics-drivers/ppa) and running apt update, but no recommended drivers appear. Are there recommended NVIDIA drivers available for Drive AGX Thor?

Hi @suguru.sanichi.cj ,

On DRIVE platform, we don’t have nv_tegra_release file. In case, you want to know the DOS version, you can use /etc/nvidia/version-ubuntu-rootfs.txt . How about copying the linux headers from DOS 7.0.3 docker? Could you check /drive/drive-linux/kernel/ ?

NVIDIA drivers are part of DRIVE OS and no need to install on DRIVE AGX Thor.

Thank you for your reply.

On DRIVE platform, we don’t have nv_tegra_release file. In case, you want to know the DOS version, you can use /etc/nvidia/version-ubuntu-rootfs.txt . How about copying the linux headers from DOS 7.0.3 docker? Could you check /drive/drive-linux/kernel/ ?

I am not looking for the Drive OS version, but I want to install the linux-headers-6.1.119-rt45-rt-tegra required for installing Ollama in a Docker container.
Therefore, the files below are unnecessary. Also, on my Drive AGX Thor, the /drive directory does not exist.
I tried copying /modules/6.1.119-rt45-rt-tegra into the Docker container and installing Ollama, but the same error occurred, so it was ineffective.
Additionally, I have been investigating based on the following references, but I am not sure if the same applies to Drive AGX Thor.

Kernel header/source problem on Xavier AGX - Jetson Systems / Jetson AGX Xavier - NVIDIA Developer Forums

NVIDIA Jetson Linux Developer Guide : Kernel Customization | NVIDIA Docs

NVIDIA drivers are part of DRIVE OS and no need to install on DRIVE AGX Thor.

For example, I believe installing the CUDA driver is necessary to install PyTorch on Drive OS.
In that case, which version of the CUDA driver should I install?
I think I need to install the appropriate versions of the CUDA driver and PyTorch that match the NVIDIA driver.
Also, if I install the CPU version of PyTorch on Drive OS, will the GPU still be utilized?

Please check these on 7.0.3 docker container.

Note that CUDA toolkit and Driver are bundled as part of DRIVE OS and can not upgraded/installed alone on DRIVE platform. We don’t support PyTorch officially on DRIVE and recommend to use ONNX to TensorRT path for inference

Please check these on 7.0.3 docker container.

Are you referring to using a specific Docker image? For example, I believe the /drive directory would not exist in a Docker image like ubuntu:latest. If you are assuming the use of a particular Docker image, please let me know which Docker image it is.

We don’t support PyTorch officially on DRIVE and recommend to use ONNX to TensorRT path for inference

I understand about the drivers. I will check whether the path can be set as shown below.
export PATH=/usr/src/tensorrt/bin/:$PATH

I am referring to DRIVE OS 7.0.3 docker image. Please see https://developer.nvidia.com/docs/drive/drive-os/7.0.3/public/drive-os-linux-installation/install-driveos/install-driveos-developer.html and Configuring NVIDIA GPU Cloud (NGC) Access for NVIDIA Developer Users — NVIDIA DriveOS 7.0 Linux Installation Guide to access DRIVE OS 7.0.3 docker image

root@7.0.3.0-0010-linux-nsr:/drive/drive-linux/kernel# ls
common  compile_kernel.sh  nvidia-6.1
root@7.0.3.0-0010-linux-nsr:/drive/drive-linux/kernel#

I am referring to DRIVE OS 7.0.3 docker image.

I believe this Docker image is intended for initializing Drive AGX Thor (Drive OS), but can it be used like other Docker images? I plan to try installing Ollama using this Docker image tomorrow.

I tried to create a Docker image that installs Ollama using the Docker image nvcr.io/driveos-sdk/drive-agx-linux-nsr-aarch64-sdk-build-x86:7.0.3.0-0010. However, I encountered the following error indicating that the architecture of the Docker image does not match that of the Drive AGX Thor.

sudo docker build -f Dockerfile -t test_img . --network=host
Step 2/6: RUN apt-get update -y & apt-get install -y \ …

[Warning] The requested image’s platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested.
exec /bin/bash: exec format error

Therefore, I attempted to install binfmt (for linux/amd64) using the command below, but due to the error shown, I could not even start the container. What configurations are necessary to successfully start the container with the command below?

sudo docker run -it --rm --privileged tonistiigi/binfmt:latest --install linux/amd64,linux/arm64 --network=host

docker: error response from daemon: failed to create endpoint xenodochial_proskuriakova on network bridge: failed to add the host (veth ***) <=> sandbox(veth ***) pair interfaces: operation not supported.

I checked the networks created by Docker, but only found bridge, host, and none networks; no conflicting networks were detected.

sudo docker network ls

NETWORK ID NAME DRIVER SCOPE

xxxxxxxxxxxx bridge bridge local
yyyyyyyyyyyy host host local
zzzzzzzzzzzzz none null local

Yes. This docker image is to flash and develop application for DRIVE AGX Thor platform. We did not keep header files and samples on target to minimize filesystem usage. You copy header files from this docker to target based on your need.

If you want to install anything on target, you can try installing them directly on target and look for needed files on docker. Do you see issue with ONNX → TRT deployment path?

I’m sorry. I had made a mistake in specifying the command options.