You can customize NVIDIA® Jetson™ Linux Driver Package (L4T) by:
• Manually configuring and setting up the software drivers before use.
• Using NVIDIA® SDK Manager to perform a customized setup.
Note:
NVIDIA SDK Manager performs the following:
• Installs NVIDIA® Jetson™ Linux Driver Package • Configures or flashes your Jetson device • Runs samples
If you installed using SDK Manager, skip these topics. For more information, see the section “Installing JetPack” in the Jetson Developer Kit User Guide for your platform.
On a NVIDIA® Jetson™ reference board, Linux boots from a root file system (rootfs) on integrated memory (eMMC or QSPI), attached memory (SD card or USB device), or network-accessible storage.
The bootloader must be loaded from the internal eMMC.
The kernel and DTB can be loaded from:
• An SD card (formatted to GPT)
• A USB drive (formatted to GPT)
• A network (via DHCP/TFTP)
Choosing a Boot Device for Jetson AGX Xavier
Applies to: Jetson AGX Xavier
CBoot Boot Options (CBO) is a device tree that can be used to set certain boot configuration options, such as boot device priority and IP addresses used to boot from a network.
The name of the CBO device tree node is boot-configuration.
Node Properties
boot-order
The boot-order property contains a list of boot devices in order of priority. Each device is specified by its name and controller information. Possible entries are:
• sd: Represents an SD card on any controller.
• usb: Represents an external USB mass storage device on any controller and port.
• net: Represents network boot.
• emmc: Represents built-in MMC storage.
For example:
boot-order = "sd", "usb", "net", "emmc";
tftp-server-ip
The tftp-server-ip property specifies the IP address of the TFTP server.
The property is specified as:
tftp-server-ip = /bits/ 8 <a b c d>
Where <a b c d> are the four parts of a V4 IP address.
dhcp-enabled
The dhcp-enabled property has no value. If it is present, the device obtains its IP configuration from a DHCP server. If it is absent, the device obtains its IP configuration from the static-ip, ip-netmask, and ip-gateway properties.
static-ip, ip-netmask, and ip-gateway
The static-ip property specifies the static IP address in the IP configuration.
The ip-netmask property specifies the IP address’s subnet mask in the IP configuration.
The ip-gateway property specifies the gateway’s IP address in the IP configuration.
All three properties are required if dhcp-enabled is false or unspecified; otherwise they are not needed and are ignored if present.
The properties are specified as:
static-ip = /bits/ 8 <a b c d>
ip-netmask = /bits/ 8 <a b c d>
ip-gateway = /bits/ 8 <a b c d>
Where <a b c d> are the four parts of a V4 IP address or subnet mask.
Examples
This topic presents examples of complete boot-configuration definitions.
Example: DHCP Enabled
/dts-v1/;
/ {
compatible = "nvidia,cboot-options-v1";
boot-configuration {
boot-order = "sd", "usb", "emmc", "net";
tftp-server-ip = /bits/ 8 <10 1 2 3>;
dhcp-enabled;
};
};
Example: Static IP Configuration Specified
/dts-v1/;
/ {
compatible = "nvidia,cboot-options-v1";
boot-configuration {
boot-order = "sd", "usb", "net", "emmc";
tftp-server-ip = /bits/ 8 <10 1 2 3>;
static-ip = /bits/ 8 <10 1 2 2>;
ip-netmask = /bits/ 8 <255 255 255 0>;
ip-gateway = /bits/ 8 <10 1 2 1>;
};
};
Rebuilding the DTB
If you modify the DTS, you must rebuild the DTB.
To modify the DTS and rebuild the DTB
1. Locate the cbo.dts file in this directory:
$ cd <bsp>/Linux_for_Tegra/bootloader/
Where <bsp> is the location of Jetson Board Support Package BSP.
2. Modify the file as necessary. For more information, see Node Properties and Examples above.
3. Enter this command to convert the DTS to a DTB:
Use these procedures to extract the Jetson Linux Driver Package (L4T). Commands in the examples assume you extracted the release package in ~/.
To extract Jetson Linux Driver Package
• Extract the package manually by executing the command:
$ sudo tar -vxjf Jetson_Linux_R<release_num>_aarch64.tbz2
Where <release_num> is the release number of the current release.
Login Credentials
L4T does not provide default log-in credentials. Create your own log-in credentials the first time you boot.
Installing Additional Packages
NVIDIA provides additional L4T software components and updates in APT (Debian) repositories, accessible through the apt utility.
NVIDIA maintains the following APT repositories:
• For NVIDIA® Jetson™ Nano and Jetson TX1: https://repo.download.nvidia.com/jetson/t210
• For Jetson TX2 series: https://repo.download.nvidia.com/jetson/t186
• For Jetson AGX Xavier: https://repo.download.nvidia.com/jetson/t194
• Packages used on all Jetson platforms: https://repo.download.nvidia.com/jetson/common
The package nvidia-l4t-apt-source is pre-installed in the L4T root filesystem. 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 pre-installed in the L4T root filesystem. Once the repositories are added to the source list, apt can download and install packages.
Note:
The APT repositories described here are also used to upgrade existing packages and install packages that NVIDIA adds to the set initially installed with L4T. For more information, see L4T Over-the-Air (OTA) Updates in the topic Quick Start Guide.
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:
• 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:
The full definition of the boot configuration is in p2792-0000.conf.common. Files like jetson-xavier.conf reference that file, then specify additions and changes.
The default kernel build configuration is as follows:
This section discusses types of customization that you can use to improve the performance of a Jetson platform.
Lightweight Window Manager Alternatives
The window manager installed with L4T is Gnome, the standard Linux window manager. In many cases you can reduce boot time, response time, memory consumption, and CPU utilization by replacing Gnome with a lightweight window manager. NVIDIA recomends the LXDE environment with Compton compositing manager for this purpose.
To install and enable LXDE and Compton
1. Enter the commands:
sudo apt-get update
sudo apt-get install lxde compton
2. Create the configuration file /etc/xdg/autostart/lxde-compton.desktop, containing these commands: