edit

A20X Carrier Boards Serials Getting Started

There are 4 types of high-performance and rich-interface carrier boards for NVIDIA Jetson Nano / Xavier NX/ TX2 NX SoM. We list their specific parameters and related tutorials below.

Features

A203

  • Compact size (87mm*52mm*26mm) saves precious space

  • Lightweight (57g) good for small AI or IoT Application

  • Rich ports, compatible with a large number of AI schemes

  • Equipped with an anti-fall aviation plug that supports high currents

  • Cost-effective, suitable for narrow and small operation environment

A203(Version2)

  • Compact size (87mm*52mm*26mm) saves precious space

  • Lightweight (100g) good for small AI or IoT Application

  • Compact & all-in-one design

  • Equipped with an anti-fall aviation plug that supports high currents

  • Cost-effective, suitable for narrow and small operation environment

  • Additional USB 3.0 ZIF connector compared to its original version(A203)

A205

  • Rich peripheral interfaces and complete features

  • Up to 6 CSI camera connection allowance

  • 5 SATA allows connection to multiple hard drives

  • Equipped with an anti-fall aviation plug that supports high currents

  • All-in-one solution with up to 3 fans interfaces for better heat dissipation consideration

A206

  • Exact same size and functional design as Nvidia’s official carrier board

  • Higher performance stability consists of 4 USB ports and HDMI+DP ports

  • Data can be saved for 24 hours after the power is cut off if batteries are increased

  • High versatility, suitable for complicated AI graphical applications

Specification Comparison

Feature A203 carrier board A203 V2 carrier board A205 carrier board A206 carrier board
Module Compatibility NVIDIA® Jetson™ Nano/NX/TX2 NX NVIDIA® Jetson™ Nano/NX/TX2 NX NVIDIA® Jetson™ Nano/NX/TX2 NX NVIDIA® Jetson™ Nano/NX/TX2 NX
PCB Size / Overall Size 87mm*52mm 87mm*52mm 70mm*100mm 100mm*80mm
Display 1*HDMI 1*HDMI 2*HDMI 1* HDMI+ 1* DP
CSI Camera 1*CSI 1*CSI 6*CSI 2*CSI
Ethernet 1x Gigabit Ethernet (10/100/1000M) 1x Gigabit Ethernet (10/100/1000M) 2x Gigabit Ethernet (10/100/1000M) 1x Gigabit Ethernet (10/100/1000M)
USB 1* USB 3.0 0.5mm pitch 20Pin ZIF
2* USB 3.0 Type-A (Integrated USB 2.0); 2* USB 3.0 Type-A (Integrated USB 2.0); 4* USB 3.0 Type-A (Integrated USB 2.0); 4* USB 3.0 Type-A (Integrated USB 2.0);
1* USB Micro B(Not support power input) 1* USB Micro B(Not support power input) 1* USB 2.0 Type C(Support OTG) 1* USB Micro B(Not support power input)
SATA \ \ 5 SATA \
M.2 Key M 1*M.2 Key M 1*M.2 Key M |1*M.2 Key M
M.2 Key E 1*M.2 Key E 1*M.2 Key E 1*M.2 Key E 1*M.2 Key E
TF_Card 1* TF_Card 1*TF_Card 1*TF_Card \
USB WIFI Mode \ \ 1* Standard USB WIFI Mode(4 pin interface) \
Audio \ \ 1* Audio Jack; 2* Microphone interface; 2* Speaker interface \
SPI Bus 2* SPI Bus(+3.3V Level) 2* SPI Bus(+3.3V Level) 2* SPI Bus(+3.3V Level) 2* SPI Bus(+3.3V Level)
FAN 1* FAN(5V PWM) 1* FAN(5V PWM) 2* Fan(12V/5V); 1* FAN(5V PWM)
CAN 1* CAN 1* CAN 1* CAN 1* CAN
Multifunctional port 1* 40-Pin 1* 40-Pin 1* 40-Pin 1* 40-Pin
RTC Battery included Battery not included Battery not included Battery not included
Operating Temperature -25° to +65° -25° to +65° -25° to +80° -25° to +80°

Getting Started with A20X Carrier Boards with NVIDIA Jetson SoMs

Note

In this guide, Ubuntu 18.04 LTS is installed on the host PC. If you are running Ubuntu on a virtual machine, it is recommended to use VMware Workstation Player as we have tested this. It is not recommended to use Oracle VM VirtualBox, since it fails to flash the OS.

Hardware Preparation

  • Jetson Nano/Xavier NX/TX2 NX(eMMC) Som
  • A203/A203V2/A205/A206 Carrier Boards
  • Linux system PC host (Virtual machine available)
  • A jumper wire
  • A micro-USB cable
  • HDMI screen (Optional)
  • Mouse and Keyboard (Optional)
  • SSD (Optional, recommended ≥ 16 GB)

Environmental Preparation

Currently there are two ways to flash to your Jetson module, 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 environmental 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 NVIDIA SDK Manager provided on NVIDIA's website, there is mention of being able to use NVIDIA 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 NVIDIA 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. NVIDIA 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 NVIDIA 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 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.6.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 the module you are using is the Jetson Nano or TX1, then you will need to download the content as shown below.

If the module you are using is the Jetson Xavier NX, AGX Xavier or TX2, then you will need to download the content as shown below.

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

Attention

Currently, for the A203, A203 V2 and A205 carrier boards, the driver package only supports JetPack version 4.6, or L4T version 32.6.1.

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.6.1_aarch64.tbz2
    • For Jetson Xavier NX: Tegra186_Linux_R32.6.1_aarch64.tbz2
  • ${SAMPLE_FS_PACKAGE} contains the filename of the sample filesystem package: Tegra_Linux_Sample-Root-Filesystem_R32.6.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 - jetson-xavier-nx-devkit

The following table lists the names of all modules supported by L4T 32.6.1.

  • ${Drive package kernel path} indicates the full path to the kernel folder under the provided carrier board driver folder.

  • ${Officially unpacked Linux_for_Tegra path} indicates the full path to the officially provided folder Linux_for_Tegra folder after the L4T zip package is extracted.

Enter Force Recovery Mode

Note: This step is very important. Remember to excute this step before flashing for devices. See the steps below which is for all boards and which is for individual.

  • Step 1. (For all boards) Power off your carrier board

  • Step 2.

  • (For A203/A203V2/A206) Connect RECOVERY pin and GND pin with a jumper

  • No Step 2. for A205

A203 Carrier Boards A203 V2 Carrier Boards
Pin Description Pin Description Pin Description Pin Description
1 GND 5 PWR_BTN- 1 SYS_RST 8 LATCH_SET
2 GND 6 RECOVERY 2 GND 9 GND
3 GND 7 RST 3 RECOVERY 7 UART2_RXD
4 GND 8 PWR_BTN+ 4 GND 11 CAN_L
5 PWR_BTN- 12 GND
6 GND 13 CAN_H
7 LATCH_SET_BUT 14 GND
A205 Carrier Boards (A205 can skip this step) A206 Carrier Boards
Pin Description Pin Description Pin Description Pin Description
1 +3.3V 5 GND 1 PWR BTN 7 AUTO ON
2 +3.3V 6 GND 2 GND 8 DIS
3 CAN_L 7 FORCE_RECOVERY 3 SYS_RST_IN 9 UART TXD
4 CAN_H 8 PWR_BTN+ 4 GND 10 UART RXD
5 SYS RET 11 LED +
6 GND 12 LED -
  • Step 3.

    • (For A203/A203V2/A206) Connect your carrier board and your PC host with a Micro USB link

    • (only for A205) Connect your carrier board and your PC host with a USB type-C link

  • Step 4.
  • (only for A205) Turn on board while pressing RECOVERY button (W32) and release the button
  • (For A203/A203V2/A206) Power on

Well done! Now, Let's check whether it entered the recovery mode.

Check Force Recovery Mode

  • Step 1. Open the Terminal of your Ubuntu host and then excute the follow command:
$ lsusb

pir

The data output of one line should be as follows.

For Jetson Nano: 0955:7f21 NVidia Corp

For Jetson Xavier NX: 0955:7e19 NVidia Corp

For Jetson TX2 NX: 0955:7c18 NVidia Corp

If the numbers you get do not match the above, you may need to go back to the section on Enter Force Recovery Mode and do it all over again.

Flashing Via NVIDIA SDK Manager

Next we will go to the tutorial for installing the system. The A20X series 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. Complete the installation of the NVIDIA SDK Manager.

Step 2. Enter Force Recovery Mode

Step 3. Check Force Recovery Mode

Step 4. 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 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 5. 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 NVIDIA 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 6. Installing system.

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

NVIDIA SDK Manager supports two options to put your Jetson target into Force Recovery Mode. We understand the operation of 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: NVIDIA 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.

Tip

If you want to install the system on another external storage device, such as USB, SSD. then you can choose the location of the flash memory in this step, before that make sure your external storage device is connected to the carrier board.

  • Also, it is important to note that your external storage device needs to be formatted to Ext4 format in advance. If necessary, you can refer to steps 1~2 of this tutorial for formatting.

  • This method does not apply to the Jetson Nano module.

Step 7. Installing SDK components.

If you checked the installation of the component in the previous step 5, 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 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 Via 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 Force Recovery Mode

Step 2. Check Force Recovery Mode

Step 3. 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 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.6.1_aarch64.tbz2
$ cd Linux_for_Tegra/rootfs/
$ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.6.1_aarch64.tbz2
$ cd ..
$ sudo ./apply_binaries.sh

Step 4. 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 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 5. 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 Carrier Board again. Connect the 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.

Flashing to SSD (NVME) with command-line

Some devices, such as the Jetson Nano, cannot be directly flashed from the command line as described above, so you can refer to this method here.

There are two method to do it. The first one is from official website and is suitable for all soms. The second one comes from github - jetsonhacks/rootOnNVMe.

Now, here is the first method.

  • Step 1. Confirm that the Jetson device can boot successfully from eMMC. If it cannot, correct the problem by flashing to eMMC first.

  • Step 2. Connect the NVMe drive to the host computer.

Note: You can use a nvme hard drive enclosure to connect to your host or insert it into empty slot on computer motherboard.

  • Step 3. Check the NVMe drive's device name (e.g. /dev/nvme0n1):

Excute the command in your terminal:

lsblk -d -p | grep nvme | cut -d\  -f 1

  • Step 4. Create a new GPT:
sudo parted /dev/<nvmeXn1> mklabel gpt

Note: Repalce < nvmeXn1 > with the outcome in Step3. (e.g. nvme0n1)

  • Step 5. Add the APP partition:
sudo parted /dev/<nvmeXn1> mkpart APP 0GB <size>

Note: Replace < nvmeXn1 > and < size >, and 16GB ≤ < size > ≤ nvme capacity

  • Step 6. Format APP as an ext4 partition and mount it.
sudo mkfs.ext4 /dev/<nvmeXn1>p1
sudo mount /dev/<nvmeXn1>p1 /mnt
  • Step 7. Connect the Jetson device to a host computer and put it into recovery mode

  • Step 8. Generate the rootfs without flashing the device:

cd Linux_for_Tegra/
sudo BOOTDEV=nvme0n1p1 ./flash.sh --no-flash <board name> nvme0n1p1
sudo mkdir tmp_system
sudo mount bootloader/system.img.raw ./tmp_system
sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude=/proc ./tmp_system/ /mnt

Note: < board name > can be found in the list below:

  • Step 9. Unmount the NVMe drive and disconnect it from the host computer:
sudo umount /mnt
sudo umount ./tmp_system
  • Step 10. Plug the NVMe drive into the target device and power on.

The second method will be shown below:

  • Step 1. Insert nvme into slot on carrier board and then power on

  • Step 2. Confirm that the Jetson device can boot successfully from eMMC. If it cannot, correct the problem by flashing to eMMC first. All the commands will be executed in Jetson's terminal.

  • Step 3. Partition the nvme hard disk as GPT, the specific method:

sudo parted /dev/nvme0n1 #Enter parted
mklabel gpt #set the disk to gpt format,
mkpart logical 0 -1 #Set all the capacity of the disk to GPT format
print #View partition results
df #View partitions
sudo fdisk /dev/nvme0n1 #partition
  • Step 4. Then a formatted interface will appear, the corresponding options are as follows:

    Command (m for help):n

    Partition number(1-4):1 (or the smallest number)

    First sector: press'Enter' buttom

    Command (m for help):p

Note: If you see '/dev/nvme0n1p1', that means success.

  • Step 5. Format the partition
sudo mke2fs -t ext4  /dev/nvme0n1p1
  • Step 6. Download the project
git clone https://github.com/jetsonhacks/rootOnNVMe
  • Step 7. Copy the rootfs of the eMMC/SD card to the SSD
./copy-rootfs-ssd.sh 
  • Step 8. Setup the service
./setup-service.sh 
sudo reboot  

Installing Drivers

Install the carrier board driver

Now let's proceed to installing drivers.

Tip

The A206 carrier board does not require driver installation and you can skip this step directly. However, A203, A203 V2 and A205 all need drivers for the cameras and SD cards to work.

First of all, download the driver files in Ubuntu host according to your board and module.

Carrier Board Jetson Module JetPack Version L4T Version Download Address
A203/ A203V2 Jetson Nano eMMC 4.6 32.6.1 Download
A203/ A203V2 Jetson Xavier NX eMMC 4.6 32.6.1 Download
A203/ A203V2 Jetson Xavier NX SD 4.6 32.6.1 Download
A203/ A203V2 Jetson TX2NX eMMC 4.6 32.6.1 Download
A205 Jetson Nano eMMC 4.6 32.6.1 Download
A205 Jetson Xavier NX eMMC 4.6 32.6.1 Download
A205 Jetson TX2NX eMMC 4.6 32.6.1 Download

A203/ A203V2 with Nano and Xavier NX SoMs

To install the driver for A203 and A203 V2, you need to update the dtb file.

Prepare files and board

Step 1. Replace the contents of Linux_for_Tegra/kernel/dtb in the official image with the contents of the unpacked driver package Linux_for_Tegra/kernel/dtb.

If you use the method of NVIDIA SDK Manager to flash system, the path of the folder is:

/home/<username>/nvidia/nvidia_sdk/JetPack_<version num>_Linux_<board name>_TARGETS/Linux_for_Tegra

If you use the method of command line to flash system, the path of the folder is:

/home/<username>/<your new folder>/Linux_for_Tegra

For example, I put the unpacked files in the folder drivers with the following directory structure. The official image folder Linux_for_Tegra is stored in the same folder as the new drivers folder.

Then, we replace the downloaded driver file with the following command in the official driver in Linux_for_Tegra/kernel.

cp -a -f ${Drive package kernel path} ${Officially unpacked Linux_for_Tegra path}

Note

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

If I follow the path of my file, then the command I execute should be:

cp -a -f L4T_Drivers/drivers/Linux_for_Tegra/kernel L4T_Drivers/Linux_for_Tegra

Step 2. Put board into Force Recovery Mode

Step 3. Navigate to Linux_for_Tegra directory

# if you use the method of NVIDIA SDK Manager use this command:
cd nvidia/nvidia_sdk/JetPack_<version num>_Linux_<board name>_TARGETS/Linux_for_Tegra

# if you use the method of command line use this command:
cd <your new folder>/Linux_for_Tegra

Flash options

Option 1

Update dtb according to your SoM, if you have already flashed the module with Jetson OS before.

sudo ./flash.sh -r -k kernel-dtb ${BOARD} mmcblk0p1

Note

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

This method only installs the driver, does not change the system files, and performs quickly.

Option 2

However, if you have still not flashed with Jetson OS, you need to execute the command below to flash with Jetson OS without generating the system image.

sudo ./flash.sh -r ${BOARD} mmcblk0p1

Note

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

Option 3

Furthermore, if you want to execute a full flash while generating a system image, execute the following:

sudo ./flash.sh ${BOARD} mmcblk0p1

Note

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

If neither of the first two options allows the driver to take effect, use option 3 to reflash the system.

A203/ A203V2 with TX2NX SoMs

To install the driver for A203 and A203 V2, you need to update the files and bootloader files.

Prepare files and board

Step 1. Replace the contents of Linux_for_Tegra/kernel/dtb in the official image with the contents of the unpacked driver package Linux_for_Tegra/kernel/dtb.

If you use the method of NVIDIA SDK Manager to flash system, the path of the folder is:

/home/<username>/nvidia/nvidia_sdk/JetPack_<version num>_Linux_<board name>_TARGETS/Linux_for_Tegra

If you use the method of command line to flash system, the path of the folder is:

/home/<username>/<your new folder>/Linux_for_Tegra

For example, I put the unpacked files in the folder drivers with the following directory structure. The official image folder Linux_for_Tegra is stored in the same folder as the new drivers folder.

Then, we replace the downloaded driver file with the following command in the official driver in Linux_for_Tegra/kernel.

cp -a -f ${Drive package kernel path} ${Officially unpacked Linux_for_Tegra path}

Note

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

If I follow the path of my file, then the command I execute should be:

cp -a -f L4T_Drivers/drivers/Linux_for_Tegra/kernel L4T_Drivers/Linux_for_Tegra

Step 2. Put board into Force Recovery Mode

Step 3. Navigate to Linux_for_Tegra directory

# if you use the method of SDK Manager use this command:
cd nvidia/nvidia_sdk/JetPack_<version num>_Linux_<board name>_TARGETS/Linux_for_Tegra

# if you use the method of command line use this command:
cd <your new folder>/Linux_for_Tegra

Flash options

Option 1

If you have still not flashed with Jetson OS, you need to execute the command below to flash with Jetson OS without generating the system image.

sudo ./flash.sh -r ${BOARD} mmcblk0p1

Note

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

Option 2

However, if you want to execute a full flash while generating a system image, execute the following:

sudo ./flash.sh ${BOARD} mmcblk0p1

Note

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

If using the above options does not help you successfully complete the driver installation, use option 3 to reflash the system.

A205 with Nano, Xavier NX and TX2NX SoMs

Here we need to update the dtb files, bootloader files and kernel image.

Prepare files and board

Step 1. Replace the contents of Linux_for_Tegra/kernel/dtb in the official image with the contents of the unpacked driver package Linux_for_Tegra/kernel/dtb.

If you use the method of NVIDIA SDK Manager to flash system, the path of the folder is:

/home/<username>/nvidia/nvidia_sdk/JetPack_<version num>_Linux_<board name>_TARGETS/Linux_for_Tegra

If you use the method of command line to flash system, the path of the folder is:

/home/<username>/<your new folder>/Linux_for_Tegra

For example, I put the unpacked files in the folder drivers with the following directory structure. The official image folder Linux_for_Tegra is stored in the same folder as the new drivers folder.

Then, we replace the downloaded driver file with the following command in the official driver in Linux_for_Tegra/kernel.

cp -a -f ${Drive package kernel path} ${Officially unpacked Linux_for_Tegra path}

Note

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

If I follow the path of my file, then the command I execute should be:

cp -a -f L4T_Drivers/drivers/Linux_for_Tegra/kernel L4T_Drivers/Linux_for_Tegra

Step 2. Put board into Force Recovery Mode

Step 3. Navigate to Linux_for_Tegra directory

# if you use the method of NVIDIA SDK Manager use this command:
cd nvidia/nvidia_sdk/JetPack_<version num>_Linux_<board name>_TARGETS/Linux_for_Tegra

# if you use the method of command line use this command:
cd <your new folder>/Linux_for_Tegra

Flash options

Option 1

If you have still not flashed with Jetson OS, you need to execute the command below to flash with Jetson OS without generating the system image.

sudo ./flash.sh -r ${BOARD} mmcblk0p1

Note

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

Option 2

However, if you want to execute a full flash while generating a system image, execute the following:

sudo ./flash.sh ${BOARD} mmcblk0p1

Note

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

If using the above options does not help you successfully complete the driver installation, use option 3 to reflash the 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.

Please refer to the Wiki reComputer Jetson Initiation for the first boot settings.

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.