NVIDIA Tegra
NVIDIA Jetson Linux Driver Package Developer Guide
32.3.1 Release

 
Quick Start Guide
 
Types and Models of Jetson Devices
Preparing a Jetson Developer Kit for Use
Over-the-Air (OTA) Update
The information here is intended to help you get started quickly using NVIDIA® Jetson™ Driver Support Package (L4T) in conjunction with a Jetson developer kit. (The name L4T is derived from the description “Linux for Tegra.” Tegra was a predecessor to the NVIDIA Jetson line of SoCs, modules, and systems.)
Types and Models of Jetson Devices
This Developer Guide discusses both Jetson modules and Jetson developer kits. Jetson developer kits include a Jetson module attached to a reference carrier board. Together with JetPack SDK, it is used to develop and test software for your use case. Jetson developer kits are not intended for production use.
Jetson modules are suitable for deployment in a production environment throughout their operating lifetime. Each Jetson module ships with no software pre-installed; you attach it to a carrier board designed or procured for your end product, and flash it with the software image you’ve developed.
This release of L4T supports the following Jetson devices:
NVIDIA® Jetson Nano™ modules and Jetson Nano Developer Kit
NVIDIA® Jetson AGX Xavier™ and Jetson AGX Xavier Developer Kit
NVIDIA® Jetson™ TX2 series modules and Jetson TX2 Developer Kit
NVIDIA® Jetson™ TX1 module and Jetson TX1 Developer Kit
For details about these Jetson devices, see the Jetson Developer Site and the Jetson FAQ.
Preparing a Jetson Developer Kit for Use
This section explains how to prepare a Jetson developer kit for use by flashing it with the appropriate software.
Assumptions
You have a host computer that is running Ubuntu (Linux) version 16.04 or 18.04.
You have a Jetson developer kit.
If you have the Jetson Nano Developer Kit, you can skip this guide and simply download and use the supported SD Card image. Alternatively, you can follow these instructions to flash the QSPI-NOR, or flash the QSPI-NOR and an SD Card inserted on the Jetson Nano module.
Your Jetson developer kit is powered off and connected as follows. (Note that your Jetson developer kit may not come with the devices and cables listed below.)
A USB cable connects the correct USB port of your Jetson developer kit to your Linux host for flashing.
(For the NVIDIA Jetson AGX Xavier Developer Kit, use the USB-C port next to the power button. For the other Jetson developer kits, use the micro USB port.)
Any required USB peripherals such as keyboard and mouse are connected to the Jetson developer kit, possibly through a USB hub.
A wired Ethernet connection is available for installing optional software on the Jetson developer kit after L4T is installed and running.
Either a display device or a serial console is connected to the Jetson developer kit.
Note:
A display device or console need not be connected to a Jetson AGX Xavier Developer Kit through the micro USB connector. (This does not apply to other developer kits.)
The qemu-user-static package has been installed on the Linux host:
sudo apt-get install qemu-user-static
The installation process needs this package to install certain NVIDIA software components onto the Jetson developer kit.
Variables
The directions below assume that:
The ${L4T_RELEASE_PACKAGE} environment variable contains the pathname of the L4T release package filename
For the Jetson Nano and Jetson TX1 modules:
Jetson-210_Linux_R32..0_aarch64.tbz2
For Jetson AGX Xavier and Jetson TX2 series modules:
Jetson_Linux_R32.3.1_aarch64.tbz2
${SAMPLE_FS_PACKAGE} refers to the sample filesystem package file name:
Tegra_Linux_Sample-Root-Filesystem_R32.3.1_aarch64.tbz2
${BOARD} refers to the name of a supported configuration of a specific Jetson module with a specific carrier board.
Examples:
jetson-nano-qspi-sd
Module: Jetson Nano module (P3448—the version included in the developer kit)
Carrier board: Jetson Nano Developer Kit carrier board
Note:
This configuration is used to flash both QSPI-NOR and the micro SD card inserted into the Jetson Nano module.
jetson-tx2
Module: Jetson TX2
Carrier board: Jetson TX2 Developer Kit carrier board
jetson-tx1
Module: Jetson TX1
Carrier board: Jetson TX1 Developer Kit carrier board
To flash Jetson developer kit operating software
Note:
NVIDIA provides a third procedure for installing L4T, described in the topic Flashing and Booting the Target Device. This procedure is designed for flashing versions of L4T that you have customized and compiled yourself. It is not discussed here.
1. Download the latest L4T release package and sample file system for your Jetson developer kit from:
https://developer.nvidia.com/linux-tegra.
2. Enter the following commands to untar the files and assemble the rootfs:
sudo tar xpf ${L4T_RELEASE_PACKAGE}
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
cd ..
sudo ./apply_binaries.sh
3. Flash the operating software onto the Jetson developer kit.
a. Ensure that your Jetson developer kit is configured and connected to your Linux host as described in Assumptions.
b. Put your Jetson developer kit into ”Force Recovery Mode” (RCM).
For the Jetson Nano Developer Kit, follow these instructions:
1) Ensure that your Jetson Nano Developer Kit is powered off, and that a 16 GB or larger microSD card is inserted in the SD card slot.
2) Enable ”Force Recovery mode” by placing a jumper across the FRC pins of the Button Header on the carrier board.
For carrier board revision A02, these are pins 3 and 4 of the Button Header (J40) which are located near the camera header.
For carrier board revision B01, these are pins 9 and 10 of the Button Header (J50), which is located on the edge of the PCB under the CPU module.
3) Place a jumper across J48 to enable use of a DC power adapter.
4) Connect a DC power adapter to J25. The developer kit powers on automatically and enters ”Force Recovery mode.”
5) Remove the jumper from the FRC pins of the Button Header.
6) Continue the software installation.
For other Jetson developer kits that have hardware buttons:
1) Ensure that the developer kit is powered off.
2) Press and hold down the Force Recovery button.
3) Press, then release the Power button.
4) Release the Recovery button.
You can confirm that your developer kit is in Force Recovery mode by following the procedure in To determine whether the developer kit is in Force Recovery mode.
c. Enter these commands on your Linux host to install (flash) the L4T release onto the Jetson developer kit:
sudo ./flash.sh ${BOARD} mmcblk0p1
This takes about 10 minutes, or more on a slow host computer.
The value of the environment variable $(board) determines the configuration that the flashing script uses. This table lists each supported Jetson module, and assumes the module is attached to the appropriate carrier board from a Jetson developer kit.
Module
Part Number
Module Notes
Value of $(board)
$(board) Notes
Jetson Nano
P3448
Included with Jetson Nano Developer Kit. Has a microSD card slot instead of eMMC for storage.
jetson-nano-qspi
Flashes QSPI‑NOR memory.
jetson-nano-qspi-sd
Flashes both QSPI‑NOR memory & SD card.
Jetson Nano
P3448-0020
For use in production devices.
jetson-nano-emmc
Flashes eMMC memory.
Jetson AGX Xavier
P2888
For use in production devices.
A variation with permanently attached thermal solution is included in Jetson AGX Xavier Developer Kit.
 
jetson-xavier
Flashes eMMC memory.
jetson-xavier-maxn
Flashes board to support MAXN power mode.
jetson-xavier-slvs-ec
Flashes board to support SLVS-EC with IMX204 sensor.
jetson-xavier-as-8gb
Flashes board to emulate a production module with 8 GB memory (a proposed future product).
Jetson TX2
P3310
 
For use in production devices. Also included in Jetson TX2 Developer Kit.
 
jetson-tx2
Flashes eMMC memory.
jetson-tx2-as-4GB
Flashes eMMC memory to emulate Jetson TX2 4GB.
Jetson TX2i
P3489
For use in production devices.
jetson-tx2i
eMMC memory.
Jetson TX2 4GB
P3489-0080
For use in production devices.
jetson-tx2-4GB
eMMC memory.
Jetson TX1
P2180
For use in production devices. Also included in Jetson TX1 Developer Kit.
jetson-tx1
eMMC memory.
There is a configuration file corresponding to each value of $(board). Its name is the value of $(board) with the filename extension .conf, for example, jetson-nano-qspi.conf.
The Jetson developer kit automatically reboots upon completion of the installation process. After the reboot follow the prompts on the display to set up the user account and login. At this point, your Jetson developer kit is operational.
To determine whether the developer kit is in Force Recovery mode
a. Connect your Linux host to the correct USB port on your Jetson developer kit (see Assumptions).
b. Open a terminal window on your host and enter command lsusb.
The Jetson module is in Force Recovery mode if you see the message:
Bus <bbb> Device <ddd>: ID 0955: <nnnn> Nvidia Corp.
Where:
<bbb> is any three-digit number
<ddd> is any three-digit number
<nnnn> is a four-digit number that represents the type of Jetson module:
7f21 for Jetson Nano (P3448, included in the developer kit)
7f21 for Jetson Nano (P3448-0020, for production devices)
7019 for Jetson AGX Xavier
7e19 for Jetson AGX Xavier 8GB
7c18 for Jetson TX2
7018 for Jetson TX2i
7418 for Jetson TX2 4GB
7721 Jetson TX1
As an alternative, you can look for the message above on the display device or serial console connected to one of the developer kit’s USB ports. (See Assumptions.)
Over-the-Air (OTA) Update
 
Basic Packages for L4T
Additional L4T Packages
How to Install Packages with OTA Update
L4T provides an over-the-air software update service (OTA Update) that uses Debian Package archives.
Basic Packages for L4T
NVIDIA offers a group of packages that provide basic L4T support, listed below.
Package
Description
nvidia-l4t-3d-core
NVIDIA GL EGL
nvidia-l4t-apt-source
L4T APT source (L4T package list)
nvidia-l4t-bootloader
Bootloader
nvidia-l4t-camera
NVIDIA camera software
nvidia-l4t-ccp-t210ref
Compatibility checking package for Jetson Nano and Jetson TX1 platforms
nvidia-l4t-ccp-t186ref
Compatibility checking package for Jetson AGX Xavier and Jetson TX2 platforms
nvidia-l4t-configs
NVIDIA configuration files
nvidia-l4t-core
NVIDIA core library files
nvidia-l4t-cuda
NVIDIA® CUDA®
nvidia-l4t-firmware
Jetson firmware
nvidia-l4t-graphics-demos
Graphics demo applications
nvidia-l4t-gstreamer
GST application files
nvidia-l4t-init
Scripts and services which L4T runs in the background
nvidia-l4t-initrd
initrd image
nvidia-l4t-jetson-io
Jetson.IO debian package
nvidia-l4t-jetson-multimedia-api
Jetson Multimedia API, a collection of lower level APIs that support flexible application development
nvidia-l4t-kernel
Kernel
nvidia-l4t-kernel-dtbs
Kernel DTBs
nvidia-l4t-kernel-headers
L4T kernel headers
nvidia-l4t-multimedia
Multimedia
nvidia-l4t-multimedia-utils
Multimedia utilities
nvidia-l4t-oem-config
First-boot configuration tool, OEM-Config
nvidia-l4t-tools
Public test tools
nvidia-l4t-wayland
Wayland
nvidia-l4t-weston
Weston
nvidia-l4t-x11
X11
nvidia-l4t-xusb-firmware
USB firmware
Additional L4T Packages
After you install L4T Release 32.3.1, you can use OTA Update to install additional packages as described in Installing Additional Packages in the topic BSP Customization.
How to Install Packages with OTA Update
To use OTA Update from a GUI
1. Launch Software Updater. It checks for new or upgradeable packages automatically.
2. Software Updater displays a list of new or upgradeable packages. All available packages are selected by default.
3. Click Install Now to install the selected packages.
How to use OTA Update from the command line
1. Enter the command:
sudo apt update
apt reads a list of packages from the remote APT repository and identifies new and upgradeable packages.
2. Enter the command:
apt list --upgradeable
apt displays a list of new and upgradeable packages.
3. If Ubuntu asks you to confirm that you want to update L4T, reply affirmatively.
To install the basic packages for L4T separately, enter the command:
sudo apt upgrade