NVIDIA
NVIDIA
NVIDIA L4T Base
Container
NVIDIA
NVIDIA
NVIDIA L4T Base

NVIDIA L4T is a Linux based software distribution for the NVIDIA Jetson embedded computing platform.

What is L4T?

NVIDIA Linux4Tegra (L4T) package provides the bootloader, kernel, necessary firmwares, NVIDIA drivers for various accelerators present on Jetson modules, flashing utilities and a sample filesystem to be used on Jetson systems. The software packages contained in L4T provide the functionality necessary to run Linux on Jetson modules. For a detailed software overview please refer documentation provided here: (https://docs.nvidia.com/jetson/l4t/index.html)

Overview of the l4t-base container

l4t-base docker image enables applications to be run in a container using the Nvidia Container Runtime on Jetson. It has a subset of packages from the l4t rootfs included within (Multimedia, Gstreamer, Camera, Core, 3D Core, Vulkan, Weston). The platform specific libraries providing hardware dependencies and select device nodes for a particular device are mounted by the NVIDIA container runtime into the l4t-base container from the underlying host, thereby providing necessary dependencies for l4t applications to execute within the container. This approach enables the l4t-base container to be shared between various Jetson devices.

The image is tagged with the version corresponding to the release version of the associated l4t release. Based on this, the l4t-base:r34.1 container is intended to be run on devices executing the l4t r34.1 release.

Starting with the r32.4.3 release, the Dockerfile for the l4t-base docker image is also being provided. This can be accessed at this link. Users can use this to modify the contents to suit their needs.

Starting with the r34.1 release (JetPack 5.0 Developer Preview), the l4t-base will not bring CUDA, CuDNN and TensorRT from the host file system. The l4t-base is meant to be used as the base container for containerizing applications for Jetson. Users can apt install Jetson packages and other software of their choice to extend the l4t-base dockerfile (see above) while building application containers. All JetPack components are hosted in the Debian Package Management server here.

For CUDA and TensorRT applications, users can use the L4T CUDA and TensorRT runtime containers which have CUDA and CUDA/CuDNN/TensorRT respectively in the container itself. They can be used as base containers to containerize CUDA and TensorRT applications on Jetson.

Running l4t-base container

Prerequisites

Ensure these prerequisites are available on your system:

  1. NVIDIA Container Runtime on Jetson Note that NVIDIA Container Runtime is available for install as part of Nvidia JetPack in version 4.3 or newer

Pull the container

Before running the l4t-base container, use Docker pull to ensure an up-to-date image is installed. Once the pull is complete, you can run the container image.

Procedure

  1. In the Pull column, click the icon to copy the Docker pull command for the l4t-base container.

  2. Open a command prompt and paste the pull command. Docker will initiate a pull of the container from the NGC registry. Ensure the pull completes successfully before proceeding to the next step.

Run the container

To run the container:

  1. Allow external applications to connect to the host’s X display:
xhost +
  1. Run the docker container using the docker command
sudo docker run -it --rm --net=host --runtime nvidia -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/l4t-base:r35.1.0

Option explained:

  • -it means run in interactive mode

  • --rm will delete the container when finished

  • --runtime nvidia will use the NVIDIA container runtime while running the l4t-base container

  • -v is the mounting directory, and used to mount host’s X11 display in the container filesystem to render output videos

  • r35.1.0 is the tag for the image corresponding to the l4t release

Exposing additional GPU features

By default a limited set of device nodes and associated functionality is exposed within the l4t-base containers using the mount plugin capability. This list is documented here.

User can expose additional devices using the --device command option provided by docker. Directories and files can be bind mounted using the -v option.

Note that usage of some devices might need associated libraries to be available inside the container.

Creating Containers for Jetson

The following L4T containers can be readily leveraged as base containers to create application containers: CUDA, TensorRT, Deepstream, TensorFlow, PyTorch, ML. The NVIDIA Container Runtime on Jetson documentation has a FAQ on container usage.

Refer to this git repo for sample dockerfile. The JetPack dockerfile in that repo uses L4T container as base and creates a development container by installing CUDA, cuDNN, TensorRT, VPI and OpenCV inside the container.

License

The l4t-base container includes various software packages with their respective licenses included within the container.

Suggested Reading

For more information about l4t refer Jetson Download Center

If you have questions, please refer to the Jetson Forums.

Publisher
NVIDIA
NVIDIA
Latest Tagr36.2.0
UpdatedDecember 7, 2023 UTC
Compressed Size263.47 MB
Multinode SupportNo
Multi-Arch SupportNo

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.