NVIDIA Tegra
NVIDIA DRIVE OS 5.1 Linux SDK

Developer Guide
5.1.15.0 Release


 
Ubuntu Setup (Target)
 
Logging In
DRIVE OS Linux Username and Password
Using apt-get
Installing GUI on the Target
Network Configuration in NVIDIA Filesystems
Configuring Interfaces
File System Source Code
NVIDIA DRIVE™ provides and supports the Ubuntu-based file system. This file system is suited for small to medium embedded target systems based on NVIDIA® Tegra® processors.
Ubuntu-Based File System
The Ubuntu-based file system is intended to be used for software development because it has immense flexibility to quickly add required 3rd party pre-built packages from Internet-based PPA servers.
Logging In
Note:
If you experience instability or timeouts with ssh connections to a Xavier processor in the Drive AGX system, set -o ServerAliveInternal to keep the ssh session live. For example:
$ ssh -o ServerAliveInternal=240 nvidia@<xavier IP address>
See the standard Linux ssh manpage documentation for more information.
The file systems (drive-oobe-rfs only) support Secured Shell (SSH) and serial console logins. Use following username/password to login:
username: nvidia
password: nvidia
DRIVE OS Linux Username and Password
For information about the default DRIVE OS username and password, and how to change the username and password, see Changing the Default Target Username and Password.
Using apt-get
The apt-get tool is the mechanism with which the Ubuntu systems keep track of software installations.
apt-get is a command line interface that enables:
Installing software packages from Ubuntu repositories on the local system or the Internet
Removing existing packages
Upgrading existing packages (or even the entire system)
Because package dependency information is included with the packages (i.e., B requires A, C conflicts with D), removals and upgrades can be checked to see if dependencies are broken, making the system safe and easy to use. The file system comes with the Ubuntu 18.04 ARM Internet repository already set up, so you can use apt-get immediately to install Ubuntu software packages from the Internet.
apt-get keeps a local database of available packages from the repositories it knows about. The packages in the Internet repository are periodically updated with bug fixes, security patches, and other minor changes, and the local database will not contain these updates until it itself is updated.
Prerequisites
Your target has Internet access.
For instructions on setting up target Internet access, see Enabling Internet Access on the Target.
To update the local database
Enter the following command:
$ sudo apt-get update
Packages can then be installed with the apt-get install command.
To install packages
Enter:
$ sudo apt-get install <package> <package>
Where <package> is the name of the package to install, such as foo and bar in the following command:
$ sudo apt-get install foo bar
The command line is sufficient even if foo and bar depend on other packages that are not yet installed. apt-get determines what dependencies are missing and offers to install them. If dependency conflicts prevent the installation of either package, apt-get reports the conflicts and refuses to do anything.
To remove packages
Enter:
$ sudo apt-get remove <package> <package>
Where <package> is the name of the package to remove. For example, the following command line removes the bar and baz packages:
$ sudo apt-get remove bar baz
If other packages require a package to remain installed, then apt-get also offers to remove the other packages. To prevent accidental removal of needed packages, verify the full list of packages to be removed.
For additional information, see apt-get in Chapter 3. Package Management” of the Ubuntu Server Guide at:
https://help.ubuntu.com/18.04/serverguide/serverguide.pdf
Installing GUI on the Target
The default filesystem that comes with the SDK does not contain the graphical user interface.
To install the GUI and work with the graphical user interface, execute the following steps:
1. Ensure target filesystem driveos-oobe-rfs.run is flashed on the board.
2. Ensure the target is connected to the internet and execute the following commands below:
sudo apt-get update
sudo apt-get install gdm3 ubuntu-unity-desktop
3. The commands result in the following prompts that require the following user actions:
1. On query for /etc/alsa/alsa-base.conf to keep or overwrite: Press enter (keeps current version).
2. For time zone configuration: Choose continent, city to set time zone, and press enter.
3. On query for /etc/gdm3/custom.conf to keep or overwrite: Press enter (keeps current version).
4. Information prompt on Xserver: Choose Ok and press enter.
5. Choose default display-manager between gdm3 or lightdm: Choose gdm3 and press enter.
4. At this point, apt-get install completes. Rename the session file in /usr/share/xsessions from ubuntu.desktop to ux-ubuntu.desktop:
cd /usr/share/xsessions/
sudo mv ubuntu.desktop ux-ubuntu.desktop
cd -
5. Reboot the target:
sudo reboot
Network Configuration in NVIDIA Filesystems
The service/daemon that manages/configures the network in NVIDIA filesystems (driveos-core-rfs, driveos-oobe-rfs) is systemd-networkd, which is different from the standard network manager (NetworkManager) used in Ubuntu 18.04 by default.
systemd-networkd is the only network manager installed. Hence, utilities like netplan aren’t installed to support both systemd-networkd and NetworkManager.
Configuring Interfaces
To configure a particular interface, you must create a network file/netdev file in /etc/systemd/network/.
For example, to configure interface eth0 with DHCP, create network file 50-wired.network and place it in /etc/systemd/network/:
[Match]
Name=eth0
[Network]
DHCP=ipv4
For more information on network file semantics, priority, and location, see the systemd-networkd man page.
File System Source Code
The drive-t186ref-linux-<release>-oss-src.run installs filesystem sources under the directory:
<top>/drive-t186ref-linux_src/driveos-rfs-src.tar.bz2
NVIDIA DRIVE Linux filesystems contain a combination of Ubuntu repository and NVIDIA CUDA repository packages. As an alternative to above source, you can get the source of Ubuntu repository packages (from the Ubuntu repository) using the command:
apt-get source <package>
Disclaimer:
Ensure that all data is saved. Execute a software shutdown command, such as halt/shutdown to the target system to avoid data corruption; otherwise, file system corruption may occur. Once the target system is shut down, you may use physical/electrical shutdown or reset commands, such as tegrareset or aurixreset in the AURIX command terminal.