edit

Install NVIDIA System based on Seeed Carrier Board(Jetson-J202)

Getting Started

Install NVIDIA System based on Seeed Carrier Board(Jetson-J202)

Environmental Preparation

Currently there are two ways to install eMMC type carrier boards, one is via NVIDIA SDK Manager and the other is via command line. Both can only be done under Linux.

This section will provide and introduce all the software preparation needed to download the system, so let's get started.

System Requirements

If you need to use a more convenient graphical interface software to burn your system, you will need to use NVIDIA SDK Manager, which requires a certain environment. Please refer to the following.

Category Requirement
Supported Systems Ubuntu Desktop 16.04 and 18.04 on x86_64 system
CentOS 7.6, 8.0, and 8.2 on x86_64
Red Hat 7.6, 8.0, and 8.2 on x86_64
Host machine memory 8GB
Free disk space NVIDIA DRIVE: A minimum of 40GB free disk space on the system volume is needed for each full (host and target) deployed SDK version.
NVIDIA Jetson / Clara Holoscan: A minimum of 25GB free disk space on the system volume is needed for each full (host and target) deployed SDK version.
NVIDIA DOCA SDK: A minimum of 35GB free disk space on the system root is needed for each full (host and target) deployed SDK version.
NVIDIA Ethernet Switch: A minimum of 5GB free disk space is needed for each full (host and target) deployed SDK version.

Attention

In the instructions for using SDK Manager provided on NVIDIA's website, there is mention of being able to use SDK Manager with Ubuntu 20.04. However, from our actual tests, the installation could not be completed, so we removed this option from the supported systems.

For the task of installing a system via the command line method, the requirements will be much lower than the above. A host of Ubuntu 16.04 LTS or 18.04 LTS is sufficient.

In this tutorial, we will use Ubuntu 18.04 LTS based system to complete the installation.

Software Requirements

  • If you are preparing to use SDK Manager to complete the installation of your system.

The NVIDIA Software Development Kit (SDK) Manager is an all-in-one tool that bundles developer software and provides an end-to-end development environment setup solution for NVIDIA SDKs. SDK Manager provides you with: Support for different NVIDIA hardware development platforms.

If you are a new user, please complete the NVIDIA account registration on the NVIDIA SDK Manager page.

Then, depending on your system, download the corresponding version of SDK Manager to your host.

From a terminal window, install the Debian package with the command.

$ sudo apt install ./<NVIDIA_SDK_Manager_name>

Note

The <NVIDIA_SDK_Manager_name> are placeholders, please refer to the explanation of Getting Started -- Special notes on command line -- Placeholders instructions.

Here, the software installation is complete and you can proceed to the installation steps of the system.

  • If you intend to install the system using the command line method.

NVIDIA Jetson Linux Driver Package (L4T) is the board support package for Jetson. It includes Linux Kernel 4.9, bootloader, NVIDIA drivers, flashing utilities, sample filesystem based on Ubuntu 18.04, and more for the Jetson platform.

In this case, we will use the latest NVIDIA L4T 32.7.1 to guide the installation of the system. As a prep, you will need to go here to download the two necessary zip packages to your Ubuntu host.

The following packages are necessary:

  • L4T Driver Package (BSP)
  • Sample Root Filesystem

If you want to download and use other versions of L4T on your own, you can browse the following pages to choose.

Then the device can be flashed by command line. With this method, user can have more controls for the BSP configuration, like pinmux, kernel/kernel DTB customization, etc.

Special notes on command line

Placeholders

A placeholder is an element in a value (a pathname, option, environment variable, etc.) whose value is variable. Placeholders are single words, or words connected by underscores, wrapped in angle brackets. These are examples of placeholders taken from later parts of this document.

  • An shell script’s environment variable assignment.

    sudo apt install ./<NVIDIA_SDK_Manager_name>

    • <NVIDIA_SDK_Manager_name> indicates the full name of the NVIDIA SDK Manager installation package you downloaded from the NVIDIA website. For example, sdkmanager_1.7.3-9053_amd64.deb.

    ssh <NVIDIA system user name>@<NVIDIA system IP>

    • <NVIDIA system user name> indicates the user name you set for Jetson when completing the system configuration.
    • <NVIDIA system IP> indicates the IP address of the Jetson and the host on the same LAN.

Environment Variables

The directions that follow assume that:

  • ${L4T_RELEASE_PACKAGE} contains the L4T release package’s name.

    • For Jetson Nano devices: Jetson-210_Linux_R32.7.1_aarch64.tbz2
  • ${SAMPLE_FS_PACKAGE} contains the filename of the sample filesystem package: Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2

  • ${BOARD} contains the name of a configuration supported for your specific Jetson module and carrier board.

    Some examples are: - jetson-nano-devkit - jetson-nano-devkit-eMMC

Force Recovery Mode

Before we can move on to the installation steps, we need to make sure that your Jetson Nano is in force recovery mode.

Step 1. Before you start, you need to disconnect the Jetson-202 Carrier Board from the power supply.

Step 2. To enter recovery mode, you need to connect FC REC and GND using jumpers.

Button Header Description Button Header Description
1 PWR BTN 7 AUTO ON
2 GND 8 DISABLE
3 FC REC 9 UART TXD
4 GND 10 UART RXD
5 SYS RET 11 LED +
6 GND 12 LED -

Step 3. Then use two different Type-C cables to connect the carrier board separately. One to the 5V/3A DC power supply and one to the Ubuntu host.

Attention

Before wiring, please make sure to pay attention to the power connector and data connector, please do not connect the data connector directly to DC power.

Step 4. Under the command line window of the host computer, enter the command lsusb. When the returned content has the ID 0955:7f21 NVidia Corp. in it, it means that your Jetson-202 Carrier Board is in force recovery mode and you can proceed to the subsequent operations.

Flashing to eMMC with SDK Manager

Next we will go to the tutorial for installing the system. The Jetson-202 Carrier Board comes with a Jetson with eMMC built in, so it's relatively intuitive to install the system using the NVIDIA SDK Manager, which is available from NVIDIA. Let's get started. (Take eMMC's Jetson Nano as an example, the rest of the Jetson series is similar.)

Step 1. Open NVIDIA SDK Manager and login.

We have completed the installation of NVIDIA SDK Manager in the previous preparation. We can start the software by typing the command sdkmanager in the host command line window.

The first time you use NVIDIA SDK Manager, a web page will pop up prompting you to log in with your previously registered NVIDIA account.

Step 2. Configure the development environment.

After logging in, you will be taken to the screen where the first step of installing the system is performed. If you are already connected to Jetson-202 Carrier Board, there will be a window that requires you to select your hardware device.

  • And depending on the type of Jetson Nano we have, we should choose the first one in the figure below.

Of course, if no pop-up window appears, you can also select your device in Target Hardware.

  • In addition to this, we also need to select Jetson in the Product Category panel.
  • From the Hardware Configuration panel, we recommend that you do not select Host Machine. This will take more time to install the NVIDIA components for your current Ubuntu host. Of course, you can optionally check this box if you need to.
  • From the Target Operating System panel, select the operating system and JetPack version.
  • If relevant, select any Additional SDKs that you wish to install. Considering the storage space of eMMC is only 16GB, it is inconvenient for us to install DeepStream here.

Click Continue to proceed to the next step.

Step 3. Review components and accept licenses.

From Details and License, you can expand the host components and target components panels to review the components that will be installed on your system.

If you only need to install the system, you can uncheck the SDK component.

Tip

When choosing which components to install, you may want to keep an eye on the capacity used. The built-in eMMC size is only 16GB, please allocate and use this space wisely according to your actual needs.

After actual testing, there is only about 500MB of eMMC space left after installing the full set of SDK components.

If you want to check how to solve the problem of insufficient capacity, please refer to Troubleshooting.

If you want SDK Manager to download all setup files to a location other than the default path, go to the Download & Install Options located at the bottom of the screen, then select the path you wish to use.

Select Continue to proceed to the next step.

Step 4. Installing system.

Before the installation begins, SDK Manager prompts you to enter your sudo password.

SDK Manager supports two options to put your Jetson target into Force Recovery Mode. We understand the operation of Jetson-202 Carrier Board into force recovery mode and have already been in force recovery mode in the previous steps. So we select Manual setup: set the target to Force Recovery Mode via manual operations.

You can also choose whether to pre-configure the OEM configuration.

  • Pre-Config: SDK Manager will flash the target with the predefined configuration, and there is no need to complete the System Configuration Wizard after flashing.
  • Runtime: No default configuration is set on the target, and you will need to manually complete the System Configuration Wizard after flashing.

Here, we select the default Pre-Config.

After that, enter the name and password of the new Jetson system at the bottom, please keep them in mind.

When ready, click Flash to continue.

The display shows the progress of the download and installation of the software. Please wait patiently for the installation to complete.

Step 5. Installing SDK components.

If you checked the installation of the component in the previous step 2, you will need to go to this step.

At this point, you should be able to see a new window pop up in the NVIDIA SDK Manager, prompting you that you need to connect to your device via IP address.

At this point, you can connect the Jetson-202 Carrier Board to the monitor prepared in advance via HDMI, enter the password you entered in step 4, and log in to the main Jetson system interface.

At this point you need to connect the Jetson to the same LAN as the Ubuntu host and determine the IP address of the Jetson by using the command ifconfig.

Go back to the Ubuntu host and enter the IP address you just obtained. NVIDIA SDK Manager will try to connect to the Jetson device and proceed to complete the installation of the next SDK components.

Wait for the final installation to complete. When you see the following window appear, congratulations you have successfully completed the installation of the system and the SDK components. You can start using Jetson or continue to follow the steps below to complete some basic configuration of your new system.

Attention

Be sure to unplug the jumper and exit force recovery mode before re-powering into the system.

Flashing to eMMC with command-line

Thanks to the ease of operation and the freedom to customize the BSP, installing the Jetson system via the command line method is also one of the choices of many users. Let's take a look at the specific steps.

Step 1. Enter these commands to untar the files and assemble the rootfs

Open a command line window where the two zip files we have downloaded, Tegra_Linux_Sample-Root-Filesystem_Rxx.x.x_aarch64.tbz2 and Jetson-210_Linux_Rxx.x.x_aarch64.tbz2, are stored and type the commands one by one to complete untar and assemble the rootfs.

$ tar xf ${L4T_RELEASE_PACKAGE}
$ cd Linux_for_Tegra/rootfs/
$ sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
$ cd ..
$ sudo ./apply_binaries.sh

Note

${} is the use of environment variables, please refer to the explanation of Getting Started -- Special notes on command line -- Environment Variables instructions.

In my Ubuntu host, I store the downloaded files in /Desktop/L4T_Drivers, so you can directly execute the following command.

$ cd Desktop/L4T_Drivers/
$ tar xf Jetson-210_Linux_R32.7.1_aarch64.tbz2
$ cd Linux_for_Tegra/rootfs/
$ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2
$ cd ..
$ sudo ./apply_binaries.sh

Step 2. Flash system to Jetson

Flash the L4T version to the Jetson by entering the following command on the Ubuntu host.

sudo ./flash.sh ${BOARD} mmcblk0p1

Note

${BOARD} is the use of environment variables, please refer to the explanation of Getting Started -- Special notes on command line -- Environment Variables instructions.

For this Jetson host, you can flash it directly with the following command.

sudo ./flash.sh jetson-nano-devkit-emmc mmcblk0p1

Tip

Flashing L4T takes about 10 minutes, or more with a slow host computer.

If you want to flash your system into an external storage device, then you can refer to the tutorial here. Note that the external storage of the flash system also needs to be formatted to Ext4 format first, refer to steps 1~3 here for the tutorial.

Step 3. Connect the display and boot into the system

At this moment, you can unplug the jumper for force recovery mode and then power up the Jetson-202 Carrier Board again. Connect the Jetson-202 Carrier Board to the monitor prepared in advance via HDMI and wait for the system to install.

Attention

Be sure to unplug the jumper and exit force recovery mode before re-powering into the system.

You can start using Jetson or continue to follow the steps below to complete some basic configuration of your new system.

Initial System Configuration

Now that you have a brand new system of Jetson, we suggest you refer to the following to have a general understanding of the system foundation of Jetson before you enter into a project in the field of edge computing or artificial intelligence.

Software Updates

apt (Advanced Packaging Tool) is a shell front-end package manager for Debian and Ubuntu. apt commands provide commands to find, install, upgrade, and remove a package, a group of packages, or even all packages, and the commands are simple and easy to The commands are simple and easy to remember.

On a new system of Jetson, we will often use the following two commands to check for some updatable packages and upgrade the installation packages.

$ sudo apt update
$ sudo apt upgrade

Note

The apt command requires super administrator privileges (root) to execute.

Jetson Basic Settings

Power Mode

Jetson Nano devices are designed with a high efficiency Power Management Integrated Circuit (PMIC), voltage regulators, and power tree to optimize power efficiency. They support two power modes, such as 5W (5 watts) and MaxN (10 watts). Each mode allows several configurations with various CPU frequencies and numbers of cores online.

You restrict the module to a predefined configuration by capping the memory, CPU, and GPU frequencies and number of cores online at pre-qualified values.

The following table shows the power modes predefined by NVIDIA and the associated caps on use of the module’s resources.

There are two ways to change the power mode of Jetson. The first is through the NVIDIA plug-in. That is, click on the NVIDIA icon in the upper right corner of the boot desktop and you can select the mode you need in Power mode.

If you need to check the current load status of the Jetson, you can click Run tegrastats below the Power mode, which will bring up a command line window showing the various operating states of the internal hardware.

Another way is through the command line. Type the following command in the command line.

$ sudo /usr/sbin/nvpmodel -m <x>
Where <x> is the power mode ID, e.g. 0 or 1. 0 means MAXN, 1 means 5V.

You can also view the currently selected power mode with the command $ sudo /usr/sbin/nvpmodel -q.

jtop Package

jtop is a simple package to monitoring and control your NVIDIA Jetson. We can use the jtop tool to check the version number of the SDK components installed by Jetson or the working status of the whole machine.

The jtop tool relies on the pip tool, so we need to install pip on your Jetson first.

sudo apt install python3-pip

Then we can download jtop directly through the pip tool.

sudo -H pip3 install -U jetson-stats

Type jtop directly into the command line, and a pop-up window will dynamically display the current work of Jetson.

Note

You may need to reboot to run jtop after completing the installation for the first time.

You may need to use the numeric keypad to select the Jetson information you want to view.

By pressing the number key 6, you can see the Jetson's jetpack version and even information about the SDK component directly in the window.

Note

Since jtop is a third-party tool, the above data information may not be very accurate and is provided for reference only.

Remote Control

The Jetson is an edge device, and we don't always equip it with a mouse and keyboard, let alone a monitor. Therefore, it is necessary to control the Jetson with a quick connection in the same LAN. The most common and secure remote connection method is ssh.

SSH, also known as Secure Shell or Secure Socket Shell, is a network protocol that gives users, particularly system administrators, a secure way to access a computer over an unsecured network.

On Windows Systems

Windows 10 has a built-in SSH client that you can use in Windows Terminal.

You can start an SSH session in your command prompt by executing ssh <NVIDIA system user name>@<NVIDIA system IP> and you will be prompted to enter your password. After entering the correct password, you can control the Jetson from the command line.

Note

The <NVIDIA system user name> and <NVIDIA system IP> are placeholders, please refer to the explanation of Getting Started -- Special notes on command line -- Placeholders instructions.

On macOS Systems

masOS has a built-in SSH client that you can use in mac Terminal.

You can start an SSH session in your command prompt by executing ssh <NVIDIA system user name>@<NVIDIA system IP> and you will be prompted to enter your password. After entering the correct password, you can control the Jetson from the command line.

Note

The <NVIDIA system user name> and <NVIDIA system IP> are placeholders, please refer to the explanation of Getting Started -- Special notes on command line -- Placeholders instructions.

On Linux Systems

For Ubuntu systems, ssh is installed by default. If you are not sure if your computer has openssh, you can use the ssh -V command to see if it is installed. If the ssh command is not found, then you can use the following command to install openssh.

sudo apt-get install openssh-client

If the ssh version number information has been returned, then you can start the ssh service using the command sudo /etc/init.d/ssh start.

You can start an SSH session in your command prompt by executing ssh <NVIDIA system user name>@<NVIDIA system IP> and you will be prompted to enter your password. After entering the correct password, you can control the Jetson from the command line.

Note

The <NVIDIA system user name> and <NVIDIA system IP> are placeholders, please refer to the explanation of Getting Started -- Special notes on command line -- Placeholders instructions.

Troubleshooting

Troubleshooting Installation with NVIDIA SDK Manager

There are many causes of various installation errors. Below is a checklist of common installation issues, which may help you recover from a broken installation.

  1. Review the summary table to identify which component failed.

    a. Expand the group with the "Error" status.

    b. When you find the failed component, click the details icon to the right of Install Error to be redirected to the Terminal tab, which will display the exact error.

  1. If the error is related to an environment issue, such as a broken apt repository or missing prerequisite, try to fix it manually, then click the Retry Failed Items button.
  1. Retrying the installation is also available in two other ways:

    a. From Flashing to eMMC with SDK Manager -- Step 3, use the Repair/Uninstall button to get to the Manage NVIDIA SDKs page. If needed, expand the SDK that has the "Broken" status, then click Repair for the relevant part (Host or Target).

  1. At Flashing to eMMC with SDK Manager -- Step 3, select the required SDK and run through the installation again.

  2. Finally, try to uninstall and reinstall the relevant SDK.

Troubleshooting installation using the command line

The command line installation method is relatively simple, and is often prone to error in scenarios where force recovery mode is used.

If you encounter the error shown below in Flashing to eMMC with command-line -- Step 2, you probably did not succeed in getting the Jetson-202 Carrier Board into force recovery mode. Please pay special attention, do not enter force recovery mode with the Jetson-202 Carrier Board powered on, as this is not valid.

If you can't get into the system in Flashing to eMMC with command-line -- Step 3 and are stuck on the boot up display command line, you probably did not exit force recovery mode. Likewise, it is not valid for you to unplug the jumper to exit force recovery mode while the Jetson-202 Carrier Board is powered up, this all needs to be done while you are powered down.

Note

If more storage space is needed, we can use SD card to expand the capacity, or burn the system on SD card, you can refer to our recommended solution Flash System on SD card

Tech Support

Please do not hesitate to submit the issue into our forum.