Nvidia-docker not working in jetson nano

I successfully booted in the jetson nano os with my SD card, set up wifi, and installed automatic apt-based upgrades.

I followed these instructions to get nvidia-docker up and running Installation Guide — NVIDIA Cloud Native Technologies documentation

Everything seems like it’s fine until this command

sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

terminates in

docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"process_linux.go:432: running prestart hook 0 caused \\\"error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request\\\\n\\\"\"": unknown.

I thought drivers came preconfigured? in any case, on nvidia’s driver download menu there’s no option for Tegra X1 or Maxwell

Hi,

The tutorial you shared is for the desktop user.
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#platform-requirements

Platform Requirements

The list of prerequisites for running NVIDIA Container Toolkit is described below:

  1. GNU/Linux x86_64 with kernel version > 3.10

For Jetson, docker is pre-installed in the L4T OS.
You can find a tutorial below:

Thanks.

This doesn’t really help when using L4T/BSP tools to build a custom image. Is there a way to install the same docker from the L4T OS manually in a standard Ubuntu rootfs instead?

Sorry I was able to figure out how to install it correctly from inside the rootfs so the resulting image had the correct version of nvidia-docker.

echo "deb https://repo.download.nvidia.com/jetson/common r32.5 main" >> $ROOTFS_DIR/etc/apt/sources.list.d/nvidia-docker.list

chroot $ROOTFS_DIR bash -c "apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc"
chroot $ROOTFS_DIR bash -c "apt update"
chroot $ROOTFS_DIR bash -c "apt-get install -y --no-install-recommends --no-install-suggests nvidia-docker2"

You can’t really just install it after apply_binaries.sh because it will have a <SOC> in /etc/apt/sources.list.d/nvidia-l4t-apt-source.list which gets replaces on first boot and it errors out.

Hi,

After applying the command above , does docker run well on your customized image?

Thanks.

Yea it seems to be working as expected. I ran into an issue with X11 and Indirect GLX rendering (trying to run chromium inside a container). But that also happens on the prebuilt OS and I don’t think it’s anything to do with my custom image or the BSP tools.

Hi,

For the new issue, could you file a new topic for it?

Thanks.

Yea sorry, I may do that at some point. I am still learning so it’s probably something I am doing wrong. If I can’t make any progress I will open a new topic.