Quick Start

The information here is intended to help you get started quickly using the NVIDIA® Jetson™ Linux Driver Package (L4T) in conjunction with an NVIDIA Jetson developer kit.

Types and Models of Jetson Devices

Both Jetson modules and Jetson developer kits are available from NVIDIA. A Jetson developer kit includes a non-production specification Jetson module attached to a reference carrier board. You can use it with the JetPack SDK 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. A Jetson module ships with no software preinstalled; you attach it to a carrier board designed or procured for your product and flash it with a software image you have developed.
This release of L4T supports the following Jetson devices:
NVIDIA Jetson Xavier™ NX series modules with Jetson Xavier NX Developer Kit
NVIDIA Jetson Nano™ 2GB modules with Jetson Nano 2GB Developer Kit
NVIDIA Jetson Nano modules with Jetson Nano Developer Kit
NVIDIA Jetson AGX Xavier™ series modules with Jetson AGX Xavier Developer Kit
NVIDIA Jetson™ TX2 series modules with Jetson TX2 Developer Kit
NVIDIA Jetson TX1 module with Jetson TX1 Developer
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 Jetson developer kit.
For either Jetson Nano developer kit, you can skip this guide and simply download and use the supported microSD card image. Alternatively, you can follow these instructions to flash the QSPI-NOR, or flash the QSPI-NOR and a microSD card inserted in the Jetson Nano module.
Your Jetson developer kit is powered off, and is 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 on your Jetson developer kit to a host computer to be used for flashing and other development support functions.
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.
The host computer must run Ubuntu 16.04 LTS or 18.04 LTS.
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.
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.
Placeholders
A placeholder is an element in a value (a pathname, option, environment variable, etc.) whose value is variable. Placeholders are single words, or words connected by underscores, wrapped in angle brackets. These are examples of placeholders taken from later parts of this document:
An shell script’s environment variable assignment:
TEGRA_KERNEL_OUT=<outdir>
A pathname:
<top>/vendor/nvidia/tegra/bootloader/partner/common/
A line of code:
ec_boot_dev_cfg=<value>&0x3fff
The placeholder <top> is used throughout this document to denote the top-level directory of the files untarred from the Jetson Linux distribution.
Other placeholders are defined where they are used, or at the beginning of a section in which they are used repeatedly.
Environment Variables
The directions that follow assume that:
${L4T_RELEASE_PACKAGE} contains the L4T release package’s name.
For Jetson Nano devices and Jetson TX1 modules: Tegra210_Linux_R32.5_aarch64.tbz2
For Jetson Xavier NX series, Jetson AGX Xavier series, and Jetson TX2 series modules: Tegra186_Linux_R32.5_aarch64.tbz2
${SAMPLE_FS_PACKAGE} contains the filename of the sample filesystem package:
Tegra_Linux_Sample-Root-Filesystem_L4TRELEASEVERSION.tbz2
${BOARD} contains the name of a configuration supported for your specific Jetson module and carrier board.
Some examples are:
jetson-nano-devkit
jetson-tx2-devkit
jetson-xavier-nx-devkit
Recent and future configuration files’ names follow this format:
<board_part_number>+<module_part_number>[-<modifier>].conf
<board_part_number> is the P‑number (the full part number) for the NVIDIA carrier board that the .conf file supports.
<module_part_number> is the P‑number for the Jetson module that the .conf file supports.
<modifier> is an optional string that indicates which of several configurations the .conf file applies; for example, on a module that may have either eMMC or microSD card memory, which one it uses to flash the operating software.
Older configuration files’ name generally follow this format:
<config_name>[-<modifier>].conf
Where <config_name> is a name that represents the carrier board and module that the .conf file supports.
To flash Jetson Developer Kit operating software
1. Download the latest L4T release package and sample file system for your Jetson developer kit from:
2. Enter these commands to untar the files and assemble the rootfs:
$ tar xf ${L4T_RELEASE_PACKAGE}
$ cd Linux_for_Tegra/rootfs/
$ sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
$ cd ..
$ sudo ./apply_binaries.sh
3. Ensure that your Jetson developer kit is configured and connected to your Linux host as described in Assumptions.
4. Put your Jetson developer kit into Force Recovery Mode (RCM).
For Jetson Xavier NX Developer Kit:
1) Ensure that your Jetson Xavier NX developer kit is powered off.
2) Insert a 16 GB or larger size microSD card into the module’s SD card slot.
3) To ensure that the developer kit starts in Force Recovery Mode, place a jumper across pins 9 and 10 (FC REC and GND) of the button header (J14), located on the edge of the carrier board under the Jetson module.
4) Connect the included power adapter to J16. The developer kit powers on and enters Force Recovery mode.
5) Remove the jumper from pins 9 and 10 of the button header.
6) Continue the software installation.
For Jetson Nano 4GB Developer Kit:
1) Ensure that your Jetson Nano developer kit is powered off.
2) Insert a 16 GB or larger microSD card into the module’s microSD card slot.
3) To ensure that the developer kit starts in Force Recovery Mode, place 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 J40, which is located near the camera header.
For carrier board revision B01, these are pins 9 and 10 of J50, which is located on the edge of the carrier board under the Jetson module.
4) Place a jumper across J48 to enable use of a DC power adapter.
5) Connect a DC power adapter to J25. The developer kit powers on automatically and enters Force Recovery Mode.
6) Remove the jumper from the FRC pins of the button header.
7) Continue the software installation.
For Jetson Nano 2GB Developer Kit:
1) Ensure that your Jetson Nano developer kit is powered off.
2) Insert a 16 GB or larger microSD card into the module’s microSD card slot.
3) To ensure that the developer kit starts in Force Recovery Mode, place a jumper across pins 9 and 10 (FC REC and GND) of the button header J12, located on the edge of the carrier board under the Jetson module.
4) Connect USB A to a micro‑B cable from Host PC to carrier board J13.
5) Connect a USB type C power cable to J2 for 5V power input. The developer kit powers on automatically and enters Force Recovery Mode.
6) Remove the jumper from the FRC pins of the button header.
7) 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.
5) Continue the software installation.
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.
5. Enter this command on your Linux host to flash (install) the L4T release onto the Jetson developer kit:
sudo ./flash.sh ${BOARD} mmcblk0p1
The value of the environment variable $(BOARD) determines the configuration that the flashing script applies. The table at the end of this section describes the configurations available for each Jetson module with its respective Jetson developer kit carrier board.
There is a configuration file that corresponds to each value of $(BOARD). Its name is the value of $(BOARD) with the filename $(BOARD).conf. For example, the configuration file that corresponds to jetson-nano-devkit is jetson-nano-devkit.conf.
Flashing L4T takes about 10 minutes, or more with a slow host computer.
6. The Jetson developer kit automatically reboots at the end of the installation process. At this point your Jetson developer kit is operational. Follow the prompts on the display to set up a user account and log in.
Jetson Modules and Configurations
with Respective Jetson Developer Kit Carrier Board
Module
Part Number *
Value of $(BOARD)
Module Notes **
Series Notes
Jetson Xavier NX P3668-0000
jetson-xavier-nx-devkit
For development use only.
Internal QSPI-NOR & on-module microSD card.
Small form factor.
Jetson Xavier NX (8 GB)
P3668-0001
jetson-xavier-nx-devkit-emmc
Internal QSPI-NOR & eMMC.
Jetson Xavier NX (16 GB)
P3668-0003
jetson-xavier-nx-devkit-emmc
Internal QSPI-NOR & eMMC.
Jetson Nano 2GB
P3448-0003
jetson-nano-2gb-devkit
For educational & experimental use only.
Internal QSPI‑NOR & microSD card.
Compact, economical.
Jetson Nano 4GB
P3448-0000
jetson-nano-devkit
or
jetson-nano-qspi-sd
For development use only.
Internal built-in QSPI‑NOR & on-module microSD card.
Jetson Nano 4GB
P3448-0002
jetson-nano-devkit-emmc
Internal QSPI-NOR and eMMC.
Jetson AGX Xavier (16 GB)
P2888-0001
jetson-agx-xavier-devkit
Internal eMMC.
High-performance series for demanding applications.
Jetson AGX Xavier (32 GB)
P2888-0004
jetson-agx-xavier-devkit
Internal eMMC.
Jetson AGX Xavier 64GB
P2888-0005
jetson-agx-xavier-devkit-64gb.conf
Internal eMMC.
Jetson AGX Xavier Industrial
P2888-0008
jetson-agx-xavier-industrial
Internal eMMC.
Jetson TX2
P3310-1000
jetson-tx2-devkit
Internal eMMC.
Midrange series, more performance than Jetson Xavier NX series or Jetson Nano, at less cost than Jetson AGX Xavier series
Jetson TX2i
P3489-0000
jetson-tx2-devkit-tx2i
Industrial module with expanded environmental limits and increased useful life.
Internal eMMC.
Jetson TX2 4GB
P3489-0080
jetson-tx2-devkit-4GB
Internal eMMC.
Jetson TX2 NX
P3636-0010
jetson-xavier-nx-devkit-tx2-nx
Used with Jetson Xavier NX Developer Kit for development work.
Internal eMMC.
Jetson TX1
P2180-1000
jetson-tx1-devkit
Used with Jetson TX2 Developer Kit.
Internal eMMC for development work.
Not recommended for new development.
*   GB indicates DRAM size.
**   Except as noted, all modules are intended for development or production use. For detailed Jetson module information, see the Jetson Modules page on the NVIDIA Developer Site.
To determine whether the developer kit is in Force Recovery mode
1. Connect your Linux host to the correct USB port on your Jetson developer kit (see Assumptions).
2. Open a terminal window on your host and enter the command lsusb.
The Jetson module is in Force Recovery mode if you see this 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:
Module
<nnnn>
Module Description
Jetson Xavier NX series
P3668
7e19
All variants
P3668-0003
7e19
Production
Jetson Nano devices
P3448
7f21
All variants
Jetson AGX Xavier series
P2888
7019
All variants
Jetson TX2 series
P3310-1000
7c18
Jetson TX2
P3489-0000
7018
Jetson TX2i (industrial)
P3489-0888
7418
Jetson TX2 4GB
P3636-0001
7c18
Jetson TX2 NX
Jetson TX1
P2180-1000
7721
 
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.)