NVIDIA Tegra
NVIDIA Tegra Linux Driver Package

Development Guide
28.1 Release


 
BSP Customization
 
Boot Options
Linux Host System Prerequisites
Extracting Tegra Linux Driver Package
Installing Additional Packages
Configuring NFS Root on the Linux Host
Determining Version and Platform Information
NVIDIA Bug Reporting
You can customize the NVIDIA® Tegra® Linux Driver Package (L4T) by:
Manually configuring and setting up the software drivers before use.
Allowing JetPack to perform the standard setup.
Note:
NVIDIA JetPack performs the following:
• Installs the Linux for Tegra package
• Configures or flashes your Tegra device
• Runs samples
If you installed using JetPack, skip these topics. For more information, see the JetPack documentation.
Boot Options
Boot L4T on the Jetson TX1 or TX2 reference board from a root file system (rootfs) on an integrated, attached, or network-accessible storage. The bootloader must be loaded from the internal eMMC. Root filesystem options include:
USB stick (formatted to EXT4)
USB hard disk (formatted to EXT4)
SD card (formatted to EXT4)
SATA (formated to EXT4)
Internal eMMC
Network File System (NFS)
Linux Host System Prerequisites
To use L4T on a Linux host system, the following hardware and software prerequisites must be met:
Host PC running Linux <os_ver_host>
A kernel image (Image)
L4T contains a kernel image for your use. Alternatively, you can download and rebuild the kernel image from source.
Boot loader
Flashing on a Tegra X1/X2 series Jetson TX1/TX2 developer board requires a boot loader, which is a combination of NVIDIA T-Boot (nvtboot) and U-Boot.
Network file system
If you intend to boot L4T on the reference board from your Linux host system or a network-accessible server.
A USB cable to plug into the recovery port.
Extracting Tegra Linux Driver Package
 
Login Credentials
Use these procedures to extract your L4T package. Commands in the examples assume you extracted the release package in ~/.
To extract Tegra Linux Driver Package
Extract the package manually by executing the command:
$ sudo tar -vxjf Tegra<t‑arch|ver>_Linux_R<release_num>_<release_type>.tbz2
 
Tip:
In the above expression, float your cursor over a place-holder to reveal the currently-defined value.
Login Credentials
The default login credentials are:
Username: nvidia
Password: nvidia
Change the default password to ensure login security.
Installing Additional Packages
L4T comes with additional NVIDIA packages, including packages for Ubuntu and Google Chrome.
Additional NVIDIA packages may be posted alongside the release. To make full use of the features in the release, install these additional packages.
Directly after the apply_binaries, install the package into the configured rootfs.
Install additional packages from Ubuntu, using the provided sample file system.
L4T is tested with the provided sample file system Ubuntu packages. Periodic Ubuntu package updates from Canonical are not validated.
To receive notifications
1. Locate and edit the following file:
/etc/apt/sources.list
2. Add the following line:
deb http://ports.ubuntu.com/ubuntu-ports <OS version (target)>-updates main universe
For example, for a rootfs based on the Xenial Xerus distribution of Ubuntu, add the line:
deb http://ports.ubuntu.com/ubuntu-ports xenial-updates main universe
Prerequisite
You have attached an Ethernet cable to the device through either the Ethernet port, if available, or through the USB Ethernet adapter.
To install more packages
1. Boot the target device.
2. Verify your Ethernet connection.
3. Update the package list by executing:
$ sudo apt-get update
Note:
Ensure that you run sudo apt-get update and not apt-get upgrade, which upgrades already installed packages. Do not confuse the two commands.
4. Install packages using apt-get. For example, to install wget execute this command:
$ sudo apt-get install wget
Configuring NFS Root on the Linux Host
To boot the target device from NFS, you must provide an NFS root mount point on your Linux host system.
Prerequisites
An Ethernet connection to install packages on the host.
An Ethernet connection on the target.
To configure NFS root on the Linux host
1. Install the nfs components on your host machine:
$ sudo apt-get install nfs-common nfs-kernel-server
2. The NFS server must know which directories you want to export for clients. This information is specified in the /etc/exports file.
Modify /etc/exports to look somewhat like this:
$ /nfsroot *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
After adding the entry, restart with the command:
$ sudo /etc/init.d/nfs-kernel-server restart
3. Create an /nfsroot directory on your Linux host system:
$ sudo mkdir /nfsroot
4. Copy the file system to the nfsroot directory:
$ cd ./rootfs
$ sudo cp -a * /nfsroot
5. Export the root point:
$ sudo exportfs -a
Alternatively, you can export or un-export all directories by using the -a and -u flags. The following command un-exports all directories:
$ sudo exportfs -au
6. Optionally, if the Ubuntu firewall blocks NFS root access, it must be disabled, depending on your configuration, with the following command:
$ sudo ufw disable
7. If there are issues performing the NFS boot, verify that everything on the host system is configured properly by executing the following step on a booted target board through USB/SD/internal eMMC. It should be possible to mount the host NFS root point on the target device:
$ mkdir rootfs
$ sudo mount -v -o nfsvers=3 <IP-ADDR>:/nfsroot rootfs
Where <IP-ADDR> is the IP address of the Linux Host machine as taken from the ifconfig command. This proves that the host configuration is correct.
Note:
Before executing the mount command on the target system, install the nfs-common package with the command:
$ sudo apt-get install nfs-common
To boot the target with the NFS root point, see Flashing and Booting the Target Device. Be sure to include the -N option for the nfs root point.
Determining Version and Platform Information
Use these procedures to determine:
The flashed BSP version
The kernel version
Other platform information
To determine the BSP version and other platform information
Execute command:
head -1 /etc/nv_tegra_release
Output is similar to the following:
#R28 (release), REVISION: 1.0, GCID: 7164062, BOARD: t186ref, EABI: aarch64, DATE: Tue Jun 03 23:37:30 UTC 2017
To determine the kernel version
Execute this command in the kernel directory:
head -4 Makefile
Output is similar to the following:
VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 15
If the system is running, determine the kernel version with the command:
uname -a
Output is similar to the following:
Linux tegra-ubuntu 4.4.15-tegra #1 SMP PREEMPT Tue Jun 03 16:29:05 PDT 2017 aarch64 aarch64 aarch64 GNU/Linux
To determine boot configuraition
Determine the boot configuration from the following information.
Boot option: l4t/config/t186ref/p2771-0000/extlinux.conf.emmc
‘FDT /boot/tegra186-quill-p3310-1000-a00-00-base.dtb’ indicates the board device tree blob file. The source is located at:
arch/arm64/boot/dts/tegra186-quill-p3310-1000-a00.dts.
Default u-boot build configuration,depending on your board, is as follows:
3rdparty/u-boot/configs/p2771-0000-000_defconfig
3rdparty/u-boot/configs/p2771-0000-500_defconfig
Default kernel build configuration: arch/arm64/configs/tegra18_defconfig
NVIDIA Bug Reporting
For debugging purposes, attach the log file to communicate issues found with the release. Use the nvidia-bug-report-tegra.sh script to generate log files.
To generate a log file for bug reporting
Log into the target board and execute the command:
$ sudo /usr/bin/nvidia-bug-report-tegra.sh
To generate a log file for bug reporting with extended logging mode
Log into the target board and execute the command:
$ sudo /usr/bin/nvidia-bug-report-tegra.sh -e
By default, the logfile generated by both these procedures is located at:
$HOME/nvidia-bug-report-tegra.log
Attach a log file when reporting any issues to NVIDIA, whether through email or the forums.