DLI dock container

Hi,

I am currently doing the getting started course from NVIDIA.

I used the following Nano Kit
SparkFun JetBot AI Kit v3.0 Powered by Jetson Nano - KIT-18486 - SparkFun Electronics.
When i am trying to run the docker container i get following error message:

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: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --compat32 --graphics --utility --video --display --pid=10438 /var/lib/docker/overlay2/acd9d7f839b2515a6aadb1e36d36e21af1992d9643e52395148149006f35f063/merged]\\nnvidia-container-cli: mount error: file creation failed: /var/lib/docker/overlay2/acd9d7f839b2515a6aadb1e36d36e21af1992d9643e52395148149006f35f063/merged/usr/lib/libvisionworks.so: file exists\\n\""”: unknown.

I am happy about any help

Hi,

May I know which command do you execute?
Please noted that you would need to add the --runtime nvidia configure when running a container on the Jetson.

Thanks.

First i executed the following commands

echo "sudo docker run --runtime nvidia -it --rm --network host \
    --volume ~/nvdli-data:/nvdli-nano/data \
    --volume /tmp/argus_socket:/tmp/argus_socket \
    --device /dev/video0 \
    nvcr.io/nvidia/dli/dli-nano-ai:v2.0.1-r32.4.4" > docker_dli_run.sh

Than:

chmod +x docker_dli_run.sh

Up to this point I have not received any error message.
As soon as I want to run with the following command:

./docker_dli_run.sh

I get this error message

docker: Error response from daemon: error gathering device information while adding custom device “/dev/video0”: no such file or directory.

I am new to the subject and do not have much prior knowledge.
I dont know if it has something to do with the camera but I use the following:

Hi @ali.yusuf, you should be able to remove the --device /dev/video0 \ line from your script, as you don’t need it for MIPI CSI camera.

However the bigger question is if your camera is connected properly and functioning outside of the container. Can you run nvgstcapture-1.0 on your Jetson (outside of container)? If you have a display attached to your Jetson, you should see the video feed of your camera show up.

Hi @dusty_nv, when I execute the command without --device /dev/video0 \
I receive the following error message:

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: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --compat32 --graphics --utility --video --display --pid=17241 /var/lib/docker/overlay2/e5809ad6adab90d2968380f6528e5f801b4bffe561b6e17bdc1439bd5055d370/merged]\\nnvidia-container-cli: mount error: file creation failed: /var/lib/docker/overlay2/e5809ad6adab90d2968380f6528e5f801b4bffe561b6e17bdc1439bd5055d370/merged/usr/lib/libvisionworks.so: file exists\\n\""”: unknown.

When I try again with --device /dev/video0 \ the error message is as I mentioned before:

docker: Error response from daemon: error gathering device information while adding custom device “/dev/video0”: no such file or directory.

When I run nvgstcapture-1.0 following message is displayed:

Encoder null, cannot set bitrate!
Encoder Profile = High
Supported resolutions in case of ARGUS Camera


===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:532 No cameras available

After this message I can also not enter a command.

OK, can you check the version of JetPack-L4T you are running with cat /etc/nv_tegra/release? You are trying to use the r32.4.4 version of the container - the L4T version should be the same. If you are on a different L4T version, try that version of the container instead.

You camera can’t be connected, and this was outside of the container. So it also won’t work inside the container. I would check that the camera cable is installed into your Nano’s camera header in the correct orientation. And you can also dmesg | grep imx219 to look for kernel status or errors.

1 Like

When I run cat/etc/nv_tegra/release following is displayed:

R32 (release), REVISION: 3.1, GCID: 18186506, BOARD: t210ref, EABI: aarch64, DATE: Tue Dec 10 06:58:34 UTC 2019

I have the kit from sparkfun SparkFun JetBot AI Kit v3.0 Powered by Jetson Nano - KIT-18486 - SparkFun Electronics and have followed the instructions from Examples · NVIDIA-AI-IOT/jetbot Wiki · GitHub . Here the camera works . Only if I follow the instructions from NVIDIA course ( Getting Started with AI on Jetson Nano) and need the camera for it does not work. But even so I can not start the camera

Hi @ali.yusuf, you are running JetPack 4.3 (R32.3.1), which is older version than the containers for this course support.

I recommend that you upgrade your Jetson to the latest JetPack 4.4.1 (R32.4.4) and then that container should start.

Hi @dusty_nv. When I upgrade to the latest JetPack 4.4.1 does it overwrite the software modifactions for SparkFuns hardware?

And is there another option to download thrue the terminal without flashing the SD-card?

I’m not familiar with the SparkFun SD card, so I’m not sure of all the changes they may have made, sorry about that. If for example, SparkFun just installed add-on Python packages, then I think you may be able to upgrade it. You could backup your work and try it (and worst case re-flash the original SparkFun image), or alternatively use a 2nd SD card that is loaded with the newer version of JetPack for running the DLI course.