Installation of RedHawk™ 8.0 Gold on theNVIDIA® DRIVE™ AGX Developer Kit (E3550)
Release Notes
March 20th, 2020
0898003-8.0b-DRIVE-AGX

This page intentionally left blank1. Introduction
This document describes the process of installing the ARM64 version of RedHawk™ 8.0 on theNVIDIA® DRIVE™ AGX Developer Kit (E3550). The directions in this document supersede all others– they are specific to installing the software on Concurrent Real-Time’s RedHawk systems.

2. Requirements•••

DRIVE AGX Developer Kit (E3550) with Internet accessAn x86_64 host system running Ubuntu 16.04 or 18.04 with Internet access; note that thehost system should be up to date with the latest available Ubuntu package updates
RedHawk 8.0 Gold for the DRIVE AGX Developer Kit optical media disk
NOTE
Make sure that /usr/bin/python exists on the Ubuntu host system;
install the python package if /usr/bin/python does not exist.

3. Installation
3.1.

Download SDK Manager on the host system

On an x86_64 host system running Ubuntu 16.04 or 18.04, download version 1.0.1-5538 of SDK
Manager from the NVIDIA website via this URL:
https://developer.nvidia.com/jetpack
Click on the NVIDIA SDK Manager link to download the SDK Manager package (login may berequired). You may also wish to refer to the DRIVE AGX System Installation with NVIDIA
SDK Manager Quickstart (Online) guide for additional information during installation.
Place the downloaded file into a Pegasus directory in the home directory of the current user.

3.2.

Install downloaded SDK Manager package

Open a terminal window and issue the following commands to install the SDK Manager:$ cd ~/Pegasus$ sudo apt install ./sdkmanager_1.0.1-5538_amd64.deb

3.3.

Use SDK Manager to flash DRIVE AGX Developer Kit

Invoke the following command as the current user to begin using the SDK Manager:$ sdkmanager

The first action required by the SDK Manager is to log into the nvidia.com website using yourdeveloper or partner account email address and password. Enter the appropriate information andpress LOGIN to continue.
At this point, you can generally follow the instructions in the DRIVE AGX System Installation withNVIDIA SDK Manager (Online) guide along with the following RedHawk-specific instructions:1. On the STEP 01 - DEVELOPMENT ENVIRONMENT screen, click on the . . . icon in the Target
Hardware box to reveal the list of supported hardware configurations, as shown in thefollowing screenshot:

2. Click on the DRIVE AGX Developer Kit (E3550) target hardware option to make it the
selected target, as shown in the following screenshot:3. Press Continue to advance to the STEP 02 – DETAILS AND LICENSE screen and click
I accept the terms and conditions of the license agreements at the bottom ofthe window to accept the licenses, as shown in the following screenshot:

4. Press Continue to advance to the STEP 03 – SETUP PROCESS screen and SDK Manager
will begin downloading all the software components from NVIDIA, as shown below:

Depending on your network’s speed, the download can take 30 minutes or more. During
the download and setup, a detailed output log can be viewed under the TERMINAL tab.

5. During the download and setup, you will be presented with a Flash dialog. Select Flash
Xavier A+B from the pulldown menu as shown in the following dialog:

Enter a password and click on the Flash Xavier A+B button to begin flashing the DRIVE
AGX Developer Kit. Note that the download, setup and flashing process may take several
hours to complete, and during the process you may see the following dialog presented:

If you see this dialog, simply click on the Yes button to continue the flashing process.

6. Once the flashing has completed you will automatically proceed to the STEP 04 –SUMMARY FINALIZATION screen.

Click Finish and Exit to exit the SDK Manager

3.4.

Prepare DRIVE AGX Developer Kit for installation

By default, Xavier A and Xavier B are not configured for installing and/or upgrading packages
from external Ubuntu package repositories. Perform the following commands on both Xavier Aand Xavier B to enable access to external Ubuntu package repositories:$ sudo cp /etc/apt/sources.list_default /etc/apt/sources.list$ sudo apt update$ sudo apt install wget

Contact your local system administrator if you have any problems connecting to the external
Ubuntu package repositories. Proceed to the next section after these commands have completed
successfully on both Xavier A and Xavier B.

3.5.

Copy RedHawk packages to DRIVE AGX Developer Kit
NOTEThis section assumes you are using the RedHawk 8.0 for DRIVE AGX Developer Kit
optical media disc. Alternatively, if you wish to install RedHawk from the networkrefer to Appendix A, “Install RedHawk from Concurrent Real-Time Repositories.”
Once installed continue with section 3.5 below to finalize the installation.

After SDK Manager has completed the Ubuntu installation on the DRIVE AGX Developer Kit,
insert the RedHawk 8.0 for DRIVE AGX Developer Kit optical disc into the Ubuntu host’s opticaldrive and it should automatically mount under the /media/$USER directory (e.g.
/media/jane/RedHawk 8.0 aarch64).
Change to the mounted directory on the host and use networking to copy the RedHawk packages
into both Xavier A and Xavier B in the DRIVE AGX Developer Kit, as illustrated by the following
commands:$ cd /media/jane/RedHawk 8.0 aarch64/Packages$ scp *.deb nvidia@xavierA:/tmp$ scp *.deb nvidia@xavierB:/tmp

NOTE
During the SDK Manager installation, a nvidia user is automatically created.
The password for the nvidia user was chosen during SDK Manager flashing.
Replace xavierA and xavierB with the actual IP address or hostname of Xavier A and Xavier
B. After copying, the RedHawk packages will be sitting in the /tmp directory on both Xaviers.

3.6.

Install RedHawk on the DRIVE AGX Developer Kit

To install the RedHawk packages, log into Xavier A (either via ssh or via the graphical console)and issue the following commands:$ cd /tmp$ sudo apt update$ sudo apt install ./ccur*.deb

Enter the password for the current user if the sudo command prompts for it.

NOTEWarnings may be displayed during package installation;these warnings can be safely ignored as they are not relevant
to RedHawk 8.0 on DRIVE AGX Developer Kit installations.
Repeat these commands while logged into Xavier B to install RedHawk on Xavier B as well.
At this point all the RedHawk packages, including the RedHawk kernels, should have installedsuccessfully on Xavier A and Xavier B in the DRIVE AGX Developer Kit. However, additional
steps in the next section are required before you can boot into the RedHawk kernels.

Flash desired RedHawk kernel using bootburn.sh

3.7.

The RedHawk kernels were placed into the /boot directory during the package installation in theprevious step, however the RedHawk kernel image files cannot be booted directly from /boot.
Perform the following steps on the x86_64 host machine running Ubuntu 14.04 or 16.04 to flash
the desired RedHawk kernel into one of the Xavier systems in the DRIVE AGX Developer Kit.

NOTE
The example instructions below flash the RedHawk Trace kernel into Xavier A.

1.

Create shell environment variables to simplify the following steps.
$ export XA=e3550b03-t194a$ export XB=e3550b03-t194b$ cd ~/nv*/nv*/*E3550/DRIVEOS/*foundation$ export FN=$(pwd)2.

Copy over the desired RedHawk kernel boot image from Xavier A:$ cd ~/$ scp nvidia@XavierA:/boot/Image*RedHawk-8.0-trace .

Replace XavierA with the actual IP address or hostname of Xavier A.
3.

Update the kernel imagepath setting for Xavier A:$ vi $FN/virt*/pct/$XA/linux/linux*.cfg

Comment out the line starting with imagepath= and create a new line below it with thefollowing contents changed to match the desired RedHawk kernel:
imagepath=/home/jane/Image-4.14.102-rt53-r5.1.6.1-tegra-RedHawk-8.0-trace

4.

Change into the SDK Manager foundation directory:$ cd ~/nv*/nv*/*E3550/DRIVEOS/*foundation

5.

- or -

cd $FN

Prepare an updated flash binary for Xavier A incorporating the selected kernel:$ make -f Makefile.bind BOARD=e3550b03-t194a- or -BOARD=$XA

Replace e3550b03-t194a (or $XA) with e3550b03-t94b (or $XB) to prepare forXavier B flashing.

6.

Change into the bootburn script directory:$ cd $FN/tools/host/flashtools/bootburn_t19x7.

Use the bootburn.sh script to flash the selected kernel onto Xavier A guest partition 1:$ sudo ./bootburn.sh -b $XA -u A_1_kernel A_1_kernel-dtb A_1_ramdisk -x /dev/ttyUSB3

Alternatively, you need to invoke the following shorter command to flash Xavier B:$ sudo ./bootburn.sh -b $XB -s -x /dev/ttyUSB3

Note that this shorter command is required for Xavier B to flash successfully.
The flashing process will run for several minutes before it is complete. During the flash bothXavier A and Xavier B in the DRIVE AGX Developer Kit will be reset, even though you are only
flashing one of them at a time during the above steps.
Repeat these steps from the beginning, replacing all Xavier A references with Xavier B, to flash aRedHawk kernel into Xavier B. Once both Xavier A and Xavier B have been flashed withRedHawk kernels, the RedHawk installation on the DRIVE AGX Developer Kit is complete.

NOTE
After RedHawk installation, it is recommended that modified linux_storage_emmc.cfg files
are restored to their original states with their original imagepath variable settings, and step 5
above is repeated for both Xavier A and Xavier B to prepare original flash binaries; this will
ensure that subsequent SDK Manager flashing works as intended.

3.8.

Verify RedHawk kernel installation

The DRIVE AGX Developer Kit should now be running the selected RedHawk kernel. To verify
this, issue the following command:$ uname -r

On Xavier A and Xavier B you should see a line displayed like the following:
4.14.102-rt53-r5.1.6.1-tegra-RedHawk-8.0-trace

Please contact Concurrent Real-Time technical support if you had any problems during thisinstallation (support@concurrent-rt.com or 1-800-245-6453).

4. Known Issues
Special consideration should be given to the following areas.

4.1.

Real-time performance with Xavier A vs. Xavier B

The real-time performance registers (RT_SAFE_MASK) on both Xavier A and Xavier B are nolonger modifiable with the latest release of DRIVE OS 5.1.6.1. For Xavier B this is not a problem
because the real-time performance register on Xavier B has already been configured for
maximum real-time performance after flashing. Because of this, all Concurrent’s real-time
performance testing and benchmarking has been performed on Xavier B.
Unfortunately, the real-time performance register for Xavier A has not been configured for low
latency and high determinism and it is therefore impossible to get good real-time performancewith any programs running on Xavier A. This issue has been reported to NVIDIA and Concurrent
is hopeful that the problem will be fixed in the next release of DRIVE OS.

4.2.

Ubuntu package installation disabled after flash

The SDK Manager provides DRIVE Software 10.0 Rev 1 which installs DRIVE OS 5.1.6.1 with aminimal root filesystem. Normally it is easy to download and install additional packages on
Ubuntu systems, however, invoking the apt update command will fail immediately after flashing
because the /etc/apt/sources.list file is not present.
To fix this issue, create a copy of the /etc/apt/sources.list_default file named/etc/apt/sources.list and then you can invoke the apt update command successfully.
Once that command completes, additional packages can then be installed as necessary.

4.3.

Lockdep warnings with debug kernels

The kernel code provided by NVIDIA has not been optimized for use with debug kernels, and thisis most evident when the kernel’s CONFIG_LOCKDEP_SUPPORT feature is enabled. Because
RedHawk debug kernels (debug and prt-debug) are built with this feature, lockdep
informational messages will occasionally appear in the system’s message journal. For example:
INFO: possible recursive locking detected...
INFO: lockdep is turned off
These messages are solely informational, and they do not appear to cause any real-time or
behavioral problems with the system. Concurrent is working to address these warnings and they
will be eliminated in future versions of RedHawk.

4.4.

Warnings accessing /dev/mem

Attempting to directly access /dev/mem on the Xavier A and Xavier B is not permitted and will
result in errors output to the systems console. For example, invoking the dmidecode application
while a RedHawk kernel is running will output an error like the following:
Program dmidecode tried to access /dev/mem
Note that if the stock NVIDIA kernel is running, you may see hundreds of lines of SError
messages output to the console, similar to the following:CPU4: SError detected, daif=140, spsr=0x20000000, mpidr=800001020
CPU4: SError detected, daif=140, spsr=0x40000145, mpidr=800001020
ROC:IOB Machine Check Error:
Address Type = Secure DRAM
Address = 0x0 (Unknown Device)...
These errors are only informational and can be ignored.

4.5.

Change to PAM Capability module directory

The PAM Capability module directory that is documented in some versions of the RedHawk
User’s Guide is incorrect for the DRIVE AGX Developer Kit. The correct PAM Capability module
location for Xavier A and Xavier B should be shown as:/lib/aarch64-linux-gnu/security/pam_capability.so
If you wish to use the PAM Capability feature with services in the /etc/pam.d directory, thenyou should refer to the PAM Capability module as follows:
session required /lib/aarch64-linux-gnu/security/pam_capability.so

4.6.

Missing package sources with new host installations

Now that Ubuntu 18.04 has been released, new Ubuntu 16.04 installations may fail to include all
the necessary package sources for SDK Manager to function correctly.
Before using SDK Manager, verify that the following package source entries are include in thesystem’s /etc/apt/sources.list file:deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ xenial-security main restricteddeb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe

If any of these package source entries are missing on your Ubuntu 16.04 system, then you willneed to add them for SDK Manager to work correctly.

4.7.

Time and date are not correct upon reboot

Time and date settings are not properly initialized after the SDK Manager has been used to flash
the DRIVE AGX Developer Kit. To fix this, invoke the Gnome Control Center and unlock theDetails → Date & Time settings. Enable Automatic Date & Time and manually set thecorrect Time Zone for your location.

Once this is done then the date and time should be restored correctly shortly after reboot.

A. Install RedHawk from Concurrent Real-Time Repositories
RedHawk can be installed over the network utilizing the Concurrent Real-Time software repositories.
This has the advantage that it will install the latest updates that have been released, however someup-front setup is required to perform the installation; follow the steps below to complete this setup.

A.1.

Install Concurrent Real-Time Public Keys

Concurrent Real-Time signs its APT repositories with a GPG-generated DSA and ElGamal keypair. You need to install Concurrent Real-Time's public key so that the APT system can authorize
usage of the repositories.
You can download the ccur-public-keys file and import the key file as needed into APT's key ring.
You should import the key file before attempting to access software from Concurrent Real-Time'srepositories.
The following commands will download the public key and install it.
wget -q http://redhawk.concurrent-rt.com/network/ccur-public-keys
apt-key add ccur-public-keys
If you wish to check the authenticity of the public keys file you downloaded from Concurrent RealTime's web site, request the key fingerprints from Concurrent Software Support and comparethem to the fingerprints of the keys you downloaded.
You can obtain the fingerprints of the keys you downloaded with the following command:
gpg --with-fingerprint ccur-public-keys

A.2.

Install Repository Definition Files

Repository definition files tell the APT installation and update system how to access specificrepositories. The definition files must reside in the /etc/apt/sources.list.d/ directory andthe file name must end .list; e.g. /etc/apt/sources.list.d/ccur.list.
Use the following format for the repository definition of the RedHawk 8.0 for DRIVE AGX
Developer Kit product:deb [arch=arm64] http://redhawk.concurrent-rt.com/ubuntu/login/passwd/redhawk/agx-drive 8.0 core

For example, the following entry substitutes a fictional login and password:deb [arch=arm64] http://redhawk.concurrent-rt.com/ubuntu/LR12345/t0ps3cr3t/redhawk/agx-drive 8.0 core

Note that if the NightStar tools have been purchased for this machine, then you should also add arepository definition for the NightStar tools below the previously added line. For example:
deb [arch=arm64] http://redhawk.concurrent-rt.com/ubuntu/LR12345/t0ps3cr3t/nightstar 4.8 rt

Once the repository definition file is in place the repository setup is complete. Run the following
command as root to ensure that the software repositories have been added correctly:
sudo apt update
If you see errors or warnings produced that reference the newly added ccur.list file, thenverify that all the above steps have all been completed as documented.

A.3.

Install RedHawk Packages

Now that the setup is done, simply issue the following command to install all the latest RedHawk
8.0 packages (and NightStar packages if purchased) onto the current system:
apt install 'ccur-*'Once this command completes the RedHawk packages are installed. Continue with Section 3.7,
“Flash desired RedHawk kernel using bootburn.sh," in order to finalize the RedHawk installation.

A.4.

SupportIf you need assistance, please contact the Concurrent Real-Time Software Support Center at ourtoll-free number 1-800-245-6453. For calls outside the continental United States, the number is 1954-283-1822. The Software Support Center operates Monday through Friday from 8 a.m. to 5p.m., Eastern Standard Time.
You may also submit a request for assistance at any time by using the Concurrent Real-Time
website at http://concurrent-rt.com/support or by sending an email to support@concurrent-rt.com.