NVIDIA Tegra
DRIVE 5.0 Linux Open Source Software

Development Guide
5.0.10.3 Release


 
Host Installation and Flashing for eMMC Boot
 
Simple Ubuntu Flashing on DRIVE PX 2
Installing the SDK on the Host
Preparing to Flash
Flashing Quick Start
Communicating with the Platform
Use the procedures on this page to:
Install NVIDIA DRIVE™ SDK 5.0 on a host Linux system.
Successfully flash the DRIVE PX 2 platform.
Boot the platform to NVIDIA DRIVE™ Linux with the Ubuntu 16.04 (64-bit distribution) root file system mounted on eMMC0.
For information on flashing and booting, see Flashing the Board.
Simple Ubuntu Flashing on DRIVE PX 2
This topic explains how to flash DRIVE PX 2 (P3407) or (P2379) system images to the QSPI NOR flash memory. System images include the BCT, boot loader, and Linux Kernel.
Note:
SDK Manager installs NVIDIA DRIVE™ on your host system and flashes your target platform. If you executed SDK Manager, skip this topic.
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 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 TensorRT 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.
Installing the SDK on the Host
Follow these procedures to install the SDK on the Host.
To install on the Host DRIVE PX 2 P3407 or P2379 Platforms
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 DRIVE PX 2 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 Quick Start
This procedure provides simple flashing commands as a quick start option.
To flash system images to QSPI and rootfs to emmc
1. Run the following command on the host.
For P3407:
cd <top>/drive-t186ref-foundation/
make -f Makefile.bind BOARD=p3407-t186 PCT=linux
./utils/scripts/bootburn/bootburn.sh -b p3407-t186 -H
For P2379 Tegra A:
cd <top>/drive-t186ref-foundation/
make -f Makefile.bind BOARD=p2379c01-t186a PCT=linux
./utils/scripts/bootburn/bootburn.sh -b p2379c01-t186a -H
For P2379 Tegra B:
cd <top>/drive-t186ref-foundation/
make -f Makefile.bind BOARD=p2379c01-t186b PCT=linux
./utils/scripts/bootburn/bootburn.sh -b p2379c01-t186b -H
For P2379 Tegra A and B flashing in parallel:
Close all minicom windows to the Aurix or Tegras
cd <top>/drive-t186ref-foundation/
make -f Makefile.bind BOARD=p2379c01-t186a PCT=linux
make -f Makefile.bind BOARD=p2379c01-t186b PCT=linux
./utils/scripts/bootburn/bootburn.sh -b p2379c01-t186 -H -x /dev/ttyUSB1
Note:
When parallel flashing, skip step 3 below. Do not open a minicom window to place the Tegra devices into/out of recovery mode, as this is done automatically with the parallel flashing option.
2. Run minicom and open the 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 on minicom setup, see Minicom Terminal Emulation.
3. With minicom open and connected to the platform, remove the board from force recovery mode and watch the target boot Ubuntu core minimal in minicom.
For instructions on how to remove the board from force recovery mode, see Placing P3407 into and out of Force Recovery Mode.
For instructions on how to remove the board from force recovery mode, see Placing P2379 into and out of Force Recovery Mode.
For general information on using AURIX, see Using the AURIX Console.
A message welcomes you to NVIDIA DRIVE™ and a root prompt in the minicom console display.
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.