Software Packages and the Update Mechanism

NVIDIA provides additional NVIDIA® Jetson™ Linux software components and updates in APT (Debian) repositories, accessible through the apt utility.


These packages are only verified with the root filesystem shipped in this L4T BSP release.

Installing Additional Packages

NVIDIA maintains the following APT repositories:

  • For NVIDIA® Jetson AGX Orin™

  • For NVIDIA® Jetson Orin™ NX and NVIDIA® Jetson Orin™ Nano

The package nvidia-l4t-apt-source is preinstalled in the Jetson Linux root file system. It identifies the platform it is running on and adds the appropriate repositories to the software source list.

The packages in the APT repositories are signed with GPG keys. The corresponding public key is preinstalled in the Jetson Linux root file system. Once the repositories are added to the source list, apt can download and install packages.


The APT repositories described here are also used to upgrade existing packages and install packages that NVIDIA adds to the set initially installed with Jetson Linux. For more information, see Updating a Jetson Device.

Repackaging Debian Packages

You can use the script to repackage the existing Jetson Linux Debian packages. The script can be found in the directory Linux_for_Tegra/tools/Debian/. Refer to the Linux_for_Tegra/tools/Debian/nvdebrepack.txt file for more information.

Building Kernel Debian Packages Yourself

You can customize the Jetson Linux kernel by getting the kernel source packages, making your changes, and building the Debian packages.

This section describes the package dependencies and scripts that NVIDIA uses to build the kernel packages. You can use the package as a reference to create your own Debian packages.

Using the Repackager Tool

The repackager is a tool that allows users to extract a subset of the necessary files from the Debian package archives in the Jetson Linux BSP for their own distributions. Users who do not need the complete set of libraries, scripts, and packages, but still want to get Jetson support, can use the repackager tool to customize their environment.

The repackager tool also comes with a dependency checker script that validates whether the subset of files the users packaged includes the necessary dependencies.


To see the latest input parameters run the -h option in the repackager.

In the following examples, the version information in the Debian file names are substituted with the $VERSION symbol for clarity. Here is an example of an actual file name:


Converting a Debian File

To convert a Debian file, run the following command:

./ -c nvidia-l4t-core_$VERSION.deb

The files in the Debian file will be repackaged into a tar file.

Converting Multiple Debian Files

To convert multiple Debian files, run the following command:

./ -c nvidia-l4t-core_$VERSION.deb,nvidia-l4t-cuda_$VERSION.deb

The files these Debian files will be packaged into two separate tar files.


The Debian files should be separated by commas.

Converting all Debian Files Under BSP

To convert the Debian files under BSP, run the following command:

./ --convert-all

The Debian files in BSP will be packaged into their own tar files.

Converting a Subset of Files and Placing the Output in the Designated Directory

To convert a subset of files and place them in the appropriate directory, run the following command:

./ -c nvidia-l4t-core_$VERSION.deb -p sample_pullfile.txt -o $HOME/output/

The sample pull file keeps a list of files users want to package from a Debian file. The resulting tar file will only contain the files that are being pulled and will be placed in the designated directory.


You can use the Pull option only when you convert one Debian file.

The format of the pull files should be in a relative path in a Debian, and here is an example of the format:


Converting Files to Different Paths

To convert files to different paths, run the following commands:

./ -c nvidia-l4t-core_$VERSION.deb -t

The transform option works sequentially as sed, and it moves files on the original path to the new path. Therefore, the files in Debian that are in the usr/lib/tegra/ directory will be placed in the usr/lib/nvidia directory, and the usr/bin directory will be placed in the usr/sbin directory.


Here is some additional information:

  • To avoid an unintended transform result, use the fully qualified path.

  • The old and new path should be separated by a comma, and each transform relation should be separated by a comma.

Printing Out the Dependencies of a Converted Debian File

To print out the dependencies of a converted Debian file, run the following command:

./ -c nvidia-l4t-core_$VERSION.deb -d

With the -d option, the file dependencies in the Debian file will be printed on screen.


If there is a filename that is specified using the -d option, the dependency list will be saved to the file.

Ignoring the Dependency Check Failure

To ignore the dependency check failure, run the following command:

./ -c nvidia-l4t-core_$VERSION.deb -p sample_pullfile.txt -i

When there is a pull option, the repackager will check whether the dependency has been met. For users who do not care whether the dependency has been met, the ignore option will print only warnings when the dependency check does not pass. For example, this option can be useful when you repack a Debian into multiple tar files and split dependencies across the tar files.

Working with the Packages

The kernel packages are all open source, and three of the four kernel packages are in public_sources.tbz2. You can download the archive from the NVIDIA Developer Center.

This archive contains another archive named kernel_src.tbz2, which in turn contains three directories of header files:

  • nvidia-l4t-kernel/

  • nvidia-l4t-kernel-dtbs/

  • nvidia-l4t-kernel-headers/

The Guide for Debian Maintainers provides guidelines to modify the open source files and create new Debian packages from these files.

For information about nvidia-l4t-jetson-io, the fourth package, refer to nvidia-l4t-jetson-io.

Package Dependencies

Most Jetson Linux Debian packages depend on the nvidia-l4t-core package, which prevents package installation on an incompatible Jetson platform, such as installing a Jetson software package on a non-Jetson device. If nvidia-l4t-core detects an incompatible platform, it will not perform the installation.

nvidia-l4t-core also prevents a partial upgrade, in which one Jetson Linux package upgrades to a new major release, but other Jetson Linux packages that depend on it are also not upgraded. Partial upgrades can cause compatibility issues between firmware, programs, and libraries that have been upgraded and ones that have not.


nvidia-l4t-kernel contains files for the Jetson Linux kernel.

Prerequisites and Dependencies

Here are the prerequisites for this package:

  • nvidia-l4t-core (must match this package’s major release)

Here are the dependencies for this package:

  • nvidia-l4t-tools

  • nvidia-l4t-init

Package Scripts

This package has a post-installation script that you can get by extracting the .deb file and completes the following actions:

  • Executes depmod -a.

  • Creates a dpkg trigger file named /usr/lib/linux/triggers/<release>.

    The trigger invokes actions defined in /etc/kernel/postinst.d to update initramfs/grub configs/… when the kernel is updated. This conforms to the standard Ubuntu kernel update procedure.


nvidia-l4t-kernel-dtbs contains files for Jetson Linux’s device tree blobs (DTBs).

The package installs the .dtb files in /boot/. When you flash a board, it installs the .dtb file that is used by that board in /boot/dtb/ by checking the board specification against the DTBs’ compatibility information.

Prerequisites and Dependencies

Here are the prerequisites for this package:

  • nvidia-l4t-core (must match the major release for this package)

Here are the dependencies for this package:

  • device-tree-compiler

  • nvidia-l4t-kernel

Package Scripts

This package has a post-installation script, which you can get by extracting the .deb file, and completes the following actions:

  • Decompiles the .dtb file used by the board in /boot/dtb/ and gets the bootargs property in the /chosen node.

  • Decompiles the corresponding .dtb file in /boot/ and substitutes the bootargs property from step 1 in the resulting .dts file.

  • Recompiles the .dts file to a .dtb file and puts it in /boot/dtb/.


nvidia-l4t-kernel-headers contains Jetson Linux kernel header files.

Prerequisites and Dependencies

Here are the prerequisites for this package:

  • nvidia-l4t-core (must match this package’s major release)

Here are the dependencies for this package:

  • nvidia-l4t-kernel

  • libc6

  • libssl1.1

Package Scripts

This package has no package scripts.


nvidia-l4t-jetson-io contains Python scripts that are used for Jetson I/O functions.

Prerequisites and Dependencies

Here are the prerequisites for this package:

  • nvidia-l4t-core (must match this package’s major release)

Here are the dependencies for this package:

  • mount

  • python3

  • util-linux

  • nvidia-l4t-kernel

  • device-tree-compiler

You can also get the dependencies by extracting the Debian file.

Package Scripts

This package has no package scripts.

Over-the-Air Update

An Over-the-Air (OTA) Update allows you to update NVIDIA Jetson devices and host computers for Jetson development.

Jetson Linux supports the following OTA types:

  • Debian package management-based OTA can update Jetson devices that run Jetson Linux or Jetson components on a host computer.

  • Image-based OTA allows you to create OTA payload packages and can update the full image that is running on a Jetson device, partition by partition. The following sections describe both forms of OTA.

Updating from the NVIDIA APT Server

The first OTA update type uses Debian packages obtained from an NVIDIA APT server. You can use this form of OTA update to update a Jetson device running Jetson Linux or to update NVIDIA JetPack™ components that are installed on a host computer that runs Ubuntu. The APT server maintains respective groups of Debian packages for each purpose.

This section describes the tools and packages that provide basic support for Jetson Linux.


You cannot use OTA update to update a Jetson device on which JetPack is installed.

To update JetPack and Jetson Linux components to a new JetPack release on a system where both are installed, see the instructions in the JetPack documentation.

NVIDIA does not recommend installing OTA Debian packages on a Jetson Linux release earlier than release 32.3.1, or on a system that is based on Ubuntu without the customization of Jetson Linux.

Upgrading from release 32.x to release 35.x is not supported. Only release 34.x is currently supported. Check the /etc/nv_tegra_release directory on your Jetson for the current software version.

Updating a Jetson Device

Use the appropriate procedure below to update your system:

Updating to a New Point Release

  1. Enter the following command:

    $ sudo apt update

    apt reads a list of packages from the remote APT repository and identifies new and upgradable packages.

  2. Enter the following command:

    $ apt list --upgradable

    apt displays a list of new and upgradable packages.

  3. To install the basic packages for Jetson Linux, enter the following command:

    $ sudo apt upgrade
  4. Reboot your Jetson device after the upgrade is finished.

Updating to a New Minor Release

  1. Open the apt source configuration file in a text editor, for example:

    $ sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
  2. Change the repository name and download URL in the deb commands.

    The original commands are:

    deb <release> main
    deb<platform> <release> main


    • <release> is the release number of the minor release to which you want to update. For example, to update to minor release 36.2, replace <release> with r36.2. OTA updates to the latest point release of the specified minor release.

    • <platform> identifies the platform’s processor:

      • t234 for NVIDIA® Jetson Orin series

    For example, if the current release is release 35.1, and your platform is Jetson AGX Orin series, the commands are:

    deb r36.2 main
    deb r36.2 main
  3. Save and close the source configuration file.

  4. Enter the following commands:

    $ sudo apt update
    $ sudo apt dist-upgrade

    If apt prompts you to choose an option to fix local modified configuration file, reply Y for yes (to use the NVIDIA updated version of the file).

    If you are upgrading from release 34, install the following new packages manually:

    $ sudo apt install nvidia-l4t-openwfd nvidia-l4t-vulkan-sc-dev nvidia-l4t-vulkan-sc-samples nvidia-l4t-vulkan-sc-sdk nvidia-l4t-vulkan-sc nvidia-l4t-jetsonpower-gui-tools
  5. When the upgrade is finished, reboot the Jetson device.


  • The do-release-upgrade command is disabled because Jetson Linux does not officially support Ubuntu release 22.04 at this time.

Updating a Host

NVIDIA provides a group of Debian packages that add or update Jetson Linux support components on the host computer.

Preparing the Host Computer to Install Jetson Linux Support Components

  1. To install the public key of the x86_64 repository of the public APT server, enter the following command:

    $ sudo apt-key adv --fetch-key
  2. Add the following x86_64 repository to the host system’s source list.

    • For an Ubuntu 20.04 host:

      deb <relno> main
    • For an Ubuntu 22.04 host:

      deb <relno> main

    Where <relno> is the current release’s full release number as specified in the Release Notes.

  3. Enter the following command:

    $ sudo apt update
  4. Use apt to download and install the required packages.

    $ sudo apt-get install cuda-toolkit-12-2 cuda-cross-aarch64-12-2 nvsci

    libnvvpi3 vpi3-dev vpi3-cross-aarch64-l4t python3.9-vpi3 vpi3-samples vpi3-python-src nsight-systems-2023.4.3 nsight-graphics-for-embeddedlinux-2023.3.0.0

Debian Packages on the NVIDIA APT Server

This section lists the Debian packages maintained on the NVIDIA APT server for a Jetson device or a host.

Update Packages for Jetson Devices

Here is a list of the OTA update packages for BSP on Jetson devices as of Jetson Linux release 36.2.

Refer to List of JetPack OTA Packages in JetPack SDK for a list of other OTA packages and instructions to apply the packages.


The component group for the following table is BSP.


Purpose of the Package


Jetson GPIO library (common files).

The source files are in


The NVIDIA IGX bootloader update payload.


NVIDIA graphics libraries including GL and EGL.


The Jetson APT source list.


The Tegra bootloader update payload.


Tegra camera libraries and utilities.


Jetson Linux system configuration files.


Jetson Linux core system libraries including RM, DLA, PVA, and so on.


CUDA lower lever driver, cuDLA user space library, and CUDA forward compatibility layer.


The enabling iGPU on dGPU script.


Display kernel modules including modeset and DRM drivers for Orin and later chips.

The source files are in


NVIDIA DLA compiler


The service for installing GPU driver.


Firmware for Tegra SoC and a few WiFi chips that are used by Jetson.


Tegra GBM backend and EGL platform GBM implementation.


Graphics demonstration sources and binaries.


Gstreamer applications and plugins for Jetson Linux.


Jetson Linux system init files and systemd services.


Jetson Linux init RAM disk package.


Jetson-io tool to reconfigure the 40-pin expansion header on Jetson platforms.

Refer to Running Jetson-IO in Configuring the Jetson Expansion Headers for more information.


The Multimedia API is a collection of lower-level APIs that support flexible application development by providing better control over the underlying hardware blocks.


The GUI Tool that is used to configure power on Jetson.


The Jetson Linux kernel image and modules.

The source files are in


The Jetson Linux kernel dtb files.

The source files are in


The Jetson Linux kernel headers for local development.

The source files are in


The Tegra Vulkan loader library.


The Jetson Linux multimedia libraries.


The Jetson Linux multimedia utility libraries.


The Fan control service and utility for Jetson.


The nvpmodel tool is used to manage power profiles and adjusts the maximum clock frequencies for the CPU, GPU, memory controller, and miscellaneous SoC clocks with the number of CPU clusters online.


The GUI version of the nvpmodel tool.


NvSci is a set of communication interface libraries out of which CUDA interops with NvSciBuf and NvSciSync.


The Jetson Linux OEM configuration utility.


The Tegra Open Source WiFi Display (OpenWFD) user space driver.


OP-TEE Trusted Applications, user space libraries/daemon, and demonstration applications.


The Programmable Vision Accelerator (PVA) user-mode driver and interface library.


The Programmable Vision Accelerator (PVA) user-mode driver and interface library.


Various system tools for Jetson.


The Vulkan SC runtime package.


The Vulkan SC dev package.


The Vulkan SC samples package.


The Vulkan SC SDK package.


The Wayland package.


The Weston-related files including utilities, API and backend libraries, icons, and images.


The NVIDIA X11 configuration tool.


The XUSB firmware to be loaded by bootloader to enable USB device at boot time.


The Jetson GPIO library package (Python 2).

The source files are in


The Jetson GPIO library package (Python 3).

The source files are in

Update Packages for Hosts

The following table lists Jetson Linux support components that you can install with apt on a host, and the packages that contain them.

Component group



  • cuda

  • cuda-12-2

  • cuda-cccl-12-2

  • cuda-command-line-tools-12-2

  • cuda-compat-12-2

  • cuda-compiler-12-2

  • cuda-crt-12-2

  • cuda-cudart-12-2

  • cuda-cudart-dev-12-2

  • cuda-cuobjdump-12-2

  • cuda-cupti-12-2

  • cuda-cupti-dev-12-2

  • cuda-cuxxfilt-12-2

  • cuda-demo-suite-12-2

  • cuda-documentation-12-2

  • cuda-driver-dev-12-2

  • cuda-drivers

  • cuda-drivers-535

  • cuda-gdb-12-2

  • cuda-gdb-src-12-2

  • cuda-libraries-12-2

  • cuda-libraries-dev-12-2

  • cuda-minimal-build-12-2

  • cuda-nsight-12-2

  • cuda-nsight-compute-12-2

  • cuda-nsight-systems-12-2

  • cuda-nvcc-12-2

  • cuda-nvdisasm-12-2

  • cuda-nvml-dev-12-2

  • cuda-nvprof-12-2

  • cuda-nvprune-12-2

  • cuda-nvrtc-12-2

  • cuda-nvrtc-dev-12-2

  • cuda-nvtx-12-2

  • cuda-nvvm-12-2

  • cuda-nvvp-12-2

  • cuda-opencl-12-2

  • cuda-opencl-dev-12-2

  • cuda-profiler-api-12-2

  • cuda-runtime-12-2

  • cuda-sanitizer-12-2

  • cuda-toolkit

  • cuda-toolkit-12

  • cuda-toolkit-12-2

  • cuda-toolkit-12-2-config-common

  • cuda-toolkit-12-config-common

  • cuda-toolkit-config-common

  • cuda-tools-12-2

  • cuda-visual-tools-12-2

  • gds-tools-12-2

  • libcublas-12-2

  • libcublas-dev-12-2

  • libcufft-12-2

  • libcufft-dev-12-2

  • libcufile-12-2

  • libcufile-dev-12-2

  • libcurand-12-2

  • libcurand-dev-12-2

  • libcusolver-12-2

  • libcusolver-dev-12-2

  • libcusparse-12-2

  • libcusparse-dev-12-2

  • libnpp-12-2

  • libnpp-dev-12-2

  • libnvidia-cfg1-430

  • libnvidia-cfg1-535

  • libnvidia-common-430

  • libnvidia-common-535

  • libnvidia-compute-430

  • libnvidia-compute-430

  • libnvidia-compute-535

  • libnvidia-compute-535

  • libnvidia-decode-430

  • libnvidia-decode-430

  • libnvidia-decode-535

  • libnvidia-decode-535

  • libnvidia-encode-430

  • libnvidia-encode-430

  • libnvidia-encode-535

  • libnvidia-encode-535

  • libnvidia-extra-535

  • libnvidia-extra-535

  • libnvidia-fbc1-430

  • libnvidia-fbc1-430

  • libnvidia-fbc1-535

  • libnvidia-fbc1-535

  • libnvidia-gl-430

  • libnvidia-gl-430

  • libnvidia-gl-535

  • libnvidia-gl-535

  • libnvjitlink-12-2

  • libnvjitlink-dev-12-2

  • libnvjpeg-12-2

  • libnvjpeg-dev-12-2

  • libxnvctrl-dev

  • libxnvctrl0

  • nsight-compute-2023.2.2

  • nsight-systems-2023.2.3

  • nvidia-compute-utils-430

  • nvidia-compute-utils-535

  • nvidia-dkms-430

  • nvidia-dkms-535

  • nvidia-driver-430

  • nvidia-driver-535

  • nvidia-fs

  • nvidia-fs-dkms

  • nvidia-gds

  • nvidia-gds-12-2

  • nvidia-headless-430

  • nvidia-headless-535

  • nvidia-headless-no-dkms-430

  • nvidia-headless-no-dkms-535

  • nvidia-kernel-common-430

  • nvidia-kernel-common-535

  • nvidia-kernel-open-535

  • nvidia-kernel-source-430

  • nvidia-kernel-source-535

  • nvidia-modprobe

  • nvidia-settings

  • nvidia-utils-430

  • nvidia-utils-535

  • xserver-xorg-video-nvidia-430

  • xserver-xorg-video-nvidia-535

CUDA cross-compile

  • cuda-cccl-cross-aarch64-12-2

  • cuda-cross-aarch64

  • cuda-cross-aarch64-12-2

  • cuda-crt-cross-aarch64-12-2

  • cuda-cudart-cross-aarch64-12-2

  • cuda-cupti-cross-aarch64-12-2

  • cuda-driver-cross-aarch64-12-2

  • cuda-nsight-compute-addon-l4t-12-2

  • cuda-nvcc-cross-aarch64-12-2

  • cuda-nvml-cross-aarch64-12-2

  • cuda-nvrtc-cross-aarch64-12-2

  • cuda-nvtx-cross-aarch64-12-2

  • cuda-profiler-api-cross-aarch64-12-2

  • libcublas-cross-aarch64-12-2

  • libcudla-cross-aarch64-12-2

  • libcufft-cross-aarch64-12-2

  • libcurand-cross-aarch64-12-2

  • libcusolver-cross-aarch64-12-2

  • libcusparse-cross-aarch64-12-2

  • libnpp-cross-aarch64-12-2

  • libnvjitlink-cross-aarch64-12-2

  • libnvjpeg-cross-aarch64-12-2

  • nsight-compute-addon-l4t-2023.2.2

Computer Vision

  • libnvvpi3

  • vpi3-dev

  • vpi3-cross-aarch64-l4t

  • python3.9-vpi3

  • vpi3-samples

  • vpi3-python-src


  • nvsci

Developer Tools

  • nsight-systems-2023.4.3

  • nsight-graphics-for-embeddedlinux-2023.3.0.0

Customizing Debian Packages

You can customize Debian packages to help you implement your solution, for example, by adding support for your carrier board. Refer to Repackaging Debian Packages and Building Kernel Debian Packages Yourself for more information.

Downloading Debian Packages for Later Use

As an alternative to installing Debian packages on a Jetson device or host from the APT server, you can download packages, store them, and manually install them later.

To download packages, open the NVIDIA Jetson repository in a web browser. This page displays a list of Debian packages for each JetPack release and processor. Each package name is a hyperlink; to download a package, click its link.

Updating Jetson Linux with Image-Based Over-the-Air Update


This feature is not supported in this release.