NVIDIA Tegra
DRIVE 5.0 Linux Open Source Software

Development Guide
5.0.10.3 Release


 
Host Installation and Flashing for NFS Boot
 
Ubuntu Flashing on DRIVE PX 2
Extracting the Source Code for OSS (Linux PDK Only)
Installing the PDK/SDK on the Host
Preparing to Flash
Flashing and Booting Quick Start
Setting up apt in Ubuntu
Communicating with the Platform
Use the procedures on this page to:
Install NVIDIA DRIVE™ SDK/PDK 5.0 on a host Linux system
Successfully flash the DRIVE PX platform
Boot the platform to NVIDIA DRIVE™ Linux on 16.04 (64-bit distribution) root file system mounted host NFS server
For information about flashing and booting the board, see Flashing the Board.
Ubuntu Flashing on DRIVE PX 2
The following instructions explain how to flash system images to the QSPI NOR flash memory. System images include the boot loader and Linux Kernel. The instructions also explain how to flash the root file system to an NFS mounted share provided by the host system.
Note:
DriveInstall installs NVIDIA DRIVE™ on your host system and flashes your target platform. If you executed DriveInstall, skip this topic.
If an error occurs and you must uninstall a RUN file; see RUN File Installation and Removal.
Prerequisites
Host system with Ubuntu 14.04 or 16.04 (64-bit distribution)
A DRIVE PX 2 development platform
A USB cable for connecting the host to the development platform (USB-microUSB or Type-A USB depending on the platform)
(Optional) HDMI monitor
(Optional) USB mouse and USB keyboard
Download the desired package set for flashing and booting from NVONLINE
Foundation base packages:
drive-t186ref-foundation-5.0.10.3-<fdn_build>-pdk.7z.*
SDK/PDK base packages:
drive-t186ref-linux-5.0.10.3-<linux_build>-pdk.7z.*
DRIVE PX 2 Foundation packages:
For P3407:
drive-t186ref-foundation-5.0.10.3-<fdn_build>-p3407specific.run
For P2379:
drive-t186ref-foundation-5.0.10.3-<fdn_build>-p2379specific.run
DRIVE PX 2 P3407 and P2379 Linux packages:
drive-t186ref-linux-5.0.10.3-<linux_build>-dpx.run
The following packages are not required for minimal installation to flash and boot the board. However, to enable complete board functionality, these packages are needed.
drive-t186ref-5.0.10.3-aarch64-tensorrt-<trt-ver>+cuda<cuda-ver>.run
drive-t186ref-5.0.10.3-aarch64-driveworks-<dwx-ver>.run
drive-t186ref-linux-5.0.10.3-<linux_build>-tegra2aurix_updater.run
 
Consult the Release Notes to identify the TenrsorRT and Driveworks supported versions in this release.
Note:
Consult the Release Notes for details on the contents of the complete package set.
Connections
For P3407 connections see Setting Up DRIVE PX 2 AutoCruise (P3407).
For P2379 connections see Setting Up DRIVE PX 2 AutoChauffeur (P2379).
Firmware
If a newer version of AURIX firmware is available, as identified in the Release Notes, upgrade the AURIX firmware on your platform. For more information, see Flashing AURIX.
Extracting the Source Code for OSS (Linux PDK Only)
The PDK includes the source code for various open source components used and/or modified by NVIDIA. The OSS source code is provided for licensing and reference purposes. It is not required to use the PDK.
To extract the OSS source code
1. In a terminal window, change the current working directory to the directory where you installed the release.
2. Extract and install the following NVIDIA DRIVE™ Linux 7ZIP files:
$ 7z e drive-t186ref-linux-5.0.10.3-<linux_build>-pdk.7z.001
Extracting drive-t186ref-5.0.10.3-aarch64-tensorrt-<trt-ver>+cuda<cuda-ver>.run
Extracting drive-t186ref-cuda-5.0.10.3.run
Extracting drive-t186ref-linux-5.0.10.3-initramfs.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-mangled-symbol-libs.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-nv-minimal-pdk.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-oss-minimal-pdk.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-oss-src.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-xenial-ubuntu-rootfs.run
3. Locate and extract the source code packages (.tar.bz2 files) in:
drive-t186ref-linux_src
You can use bzip2 or the tar utility to extract the packages.
Installing the PDK/SDK on the Host
Follow the procedure below to install the SDK/PDK on the Host.
To install on the Host DRIVE PX 2
1. Extract the following NVIDIA DRIVE™ Foundation 7ZIP files:
$ 7z e drive-t186ref-foundation-5.0.10.3-<fdn_build>-pdk.7z.001
Extracting drive-t186ref-foundation-5.0.10.3-<fdn_build>-release-pdk.run
Extracting drive-t186ref-foundation-5.0.10.3-<fdn_build>-toolchain.run
Extracting drive-t186ref-foundation-oss-src.run
2. Extract and install the following NVIDIA DRIVE™ Linux 7ZIP files:
$ 7z e drive-t186ref-linux-5.0.10.3-<linux_build>-pdk.7z.001
Extracting drive-t186ref-5.0.10.3-aarch64-tensorrt-<trt-ver>+cuda<cuda-ver>.run
Extracting drive-t186ref-cuda-5.0.10.3.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-initramfs.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-mangled-symbol-libs.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-nv-minimal-pdk.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-oss-minimal-pdk.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-oss-src.run
Extracting drive-t186ref-linux-5.0.10.3-<linux_build>-xenial-ubuntu-rootfs.run
3. Install the PDK files in the order shown.
Note:
Be aware that the order of the package installation has changed from previous DRIVE PX 2 PDK versions.
 
bash drive-t186ref-foundation-5.0.10.3-<fdn_build>-toolchain.run
bash drive-t186ref-foundation-5.0.10.3-<fdn_build>-release-pdk.run
bash drive-t186ref-linux-5.0.10.3-<linux_build>-oss-minimal-pdk.run
bash drive-t186ref-linux-5.0.10.3-<linux_build>-xenial-ubuntu-rootfs.run
bash drive-t186ref-linux-5.0.10.3-<linux_build>-initramfs.run
bash drive-t186ref-linux-5.0.10.3-<linux_build>-nv-minimal-pdk.run
bash drive-t186ref-linux-5.0.10.3-<linux_build>-dpx.run
bash drive-t186ref-5.0.10.3-aarch64-tensorrt-<trt-ver>+cuda<cuda-ver>.run
bash drive-t186ref-5.0.10.3-aarch64-driveworks-<dwx-ver>.run
bash drive-t186ref-linux-5.0.10.3-<linux_build>-tegra2aurix_updater.run
Consult the Release Notes to identify the TensorRT and Driveworks supported versions in this release.
For P3407:
bash drive-t186ref-foundation-5.0.10.3-<fdn_build>-p3407specific.run
For P2379:
bash drive-t186ref-foundation-5.0.10.3-<fdn_build>-p2379specific.run
Preparing to Flash
To flash the platform, you must power it on and put it into recovery mode.
To power on the platform
Follow the steps in Powering On the Device.
To put the platform in recovery mode
See Placing P3407 into and out of Force Recovery Mode.
See Placing P2379 into and out of Force Recovery Mode.
Flashing and Booting Quick Start
This procedure provides simple flashing commands as a quick start option.
To boot with rootfs over NFS with hypervisor
1. Navigate to the installation directory at:
For P3407:
cd <top>/drive-t186ref-foundation/virtualization/pct/p3407a00-t186/linux
For P2379 Tegra A:
cd <top>/drive-t186ref-foundation/virtualization/pct/p2379c01-t186a/linux
For P2379 Tegra B:
cd <top>/drive-t186ref-foundation/virtualization/pct/p2379c01-t186b/linux
2. Edit the linux_storage.cfg file at os_args line as follows:
from: os_args="root=/dev/mmcblk0p1 earlycon=uart8250,mmio32,0x03110000 console=ttyS0,115200n8 no_console_suspend=1 tegra_keep_boot_clocks "
To: os_args="root=/dev/nfs nfsdev=eth0 earlycon=uart8250,mmio32,0x03110000 console=ttyS0,115200n8 no_console_suspend=1 tegra_keep_boot_clocks "
3. Create the Foundation image by executing the following commands.
cd <top>/drive-t186ref-foundation
make -f Makefile.bind PCT=linux BOARD=<board>
Where <board> is:
For P3407: p3407-t186
For P2379 Tegra A: p2379c01-t186a
For P2379 Tegra B: p2379c01-t186b
4. Follow steps Setting Up Networking on the Host and Target to connect target to host using network interface.
5. Put the development platform in recovery mode.
See Placing P3407 into and out of Force Recovery Mode.
See Placing P2379 into and out of Force Recovery Mode.
6. Flash target by executing the following commands.
cd <top>/drive-t186ref-foundation/tools/host/flashtools/bootburn
./bootburn.sh -b <board> -H
Where <board> is:
For P3407: p3407-t186
For P2379 Tegra A: p2379c01-t186a
For P2379 Tegra B: p2379c01-t186b
7. Run minicom and open the development platform console UART over the USB cable connection.
For P3407:
On the Ubuntu host system, /dev/ttyUSB2 is always the serial port for Tegra; assuming that no other USB serial adapter is connected.
For P2379:
On the Ubuntu host system, /dev/ttyUSB2 is always the serial port for Tegra A and /dev/ttyUSB6 is always the serial port for Tegra B; assuming that no other USB serial adapter is connected.
For more information, see Minicom Terminal Emulation.
A message welcomes you to NVIDIA DRIVE™ Linux and a root prompt in the minicom console displays.
Setting up apt in Ubuntu
The run-once installation provides important debian packages used in the 5.0. However, it’s highly recommended that you set up apt in Ubuntu so that packages can be downloaded and installed from Ubuntu mirrors. The following steps can be used to set up apt in Ubuntu:
Prerequisites
Make sure the 5.0 is installed as per above steps.
Run once package installation is complete as per section Installing and Running Debian Files
Internet to target has been set up as per section Enabling Internet Access from the Target
Commands to setup apt
Enable universe component in /etc/apt/sources.list via:
sudo apt-add-repository universe
Update local apt database via:
sudo apt-get update
Communicating with the Platform
For information on communicating from the host machine to the development platform over a serial line, see Minicom Terminal Emulation in Utilities.