Nvidia container runtime and versions of L4T < 32.2

Very excited about the container runtime as it seems to solve some pretty tricky problems relating to image portability.

That being said, is it possible to install the container runtime on devices running L4T 28.2? I have a number of devices in production remotely that I can’t easily flash with the new SDKManager.

For some background, I have a container image built loosely following this dockerfile [url]https://github.com/open-horizon/cogwerx-jetson-tx2/blob/master/tensorrt/Dockerfile.tensorrt3.0-CUDA9[/url]. To summarize, the image actually includes the libraries (CUDA, cuDNN, TensorRT) that shipped with L4T 28.2, rendering it non-portable as I recently learned when I tried running it on a freshly flashed TX2 with L4T 32.2, leading me to NCR, leading me here asking this. If I can install NCR on the devices running 28.2, I should be able to build a single, portable image that relies on NCR which then will port to either L4T.

I’m looking for some input as to whether this is possible, and maybe some ideas for how to do it. My first thought was to use the deb files for NCR downloaded by the SDK manager, but I suspect at minimum the files that end up in /etc/nvidia-container-runtime/host-files-for-container.d/ will need tweaking for 28.2 as opposed to 32.2.

Any input is greatly appreciated.

Hi jlucier,

We start including NVIDIA Container Runtime with Docker integration for the Jetson platform from JetPAck 4.2.1, that can’t support to run on older L4T 28.2.

Here is tutorial for your reference:
[url]https://github.com/NVIDIA/nvidia-docker/wiki/NVIDIA-Container-Runtime-on-Jetson[/url]

Thanks

I have no problem using Jetpack 4.2.1 to install new devices, and I understand that Jetpack 4.2.1 will not install older OS version. However, I’m asking about the possibility of installing the nvidia-container-runtime on older versions of L4T through a non-Jetpack mechanism.

I’m curious if this is supported whatsoever, or if you know of any incompatibilities. I’d be curious to know before diving too deeply into the weeds here.

It seems like the answer is no. When installing the libcontainer*.deb files from SDKManager, dpkg complains about wanting libc6 >= 2.27 and that version isn’t available on L4T 28.2. If anyone finds another way to install, do post but it seems like it may not be possible.