arrow-left

Only this pageAll pages
gitbookPowered by GitBook
1 of 7

Software setup - Guide

Guide

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Preliminary Orin nano & Orin NX flashing guide

This guide is intended to be used with the Orin modules Orin nano & Orin NX series. As the integration of the flashing capabilities are not yet integrated into the SDK manager from Nvidia. This guide is meant to bridge the time until the SDK manager can be used. Not that not all functionalities of your carrier board like the JNX42 or JNX45 are supported yet (like some USB ports may not work). This will be fixed in a future release following soon.

hashtag
Before you start

  • Please make sure to use a Linux host PC with Ubuntu 18.04 LTS or Ubuntu 20.04 LTS (other versions may work, but some caused problems in the past!) operating system. Please use a native setup (no virtual machine). This Host PC should have a high bandwidth internet connection for the download of 3GByte+ installation file in the following steps.

  • You will also need a high-quality standard USB 2.0 Type A to micro-USB 2.0 cable.

  • If you are using an AGX Orin please use the Advanced flashing guide.

hashtag
Download installation file from NVIDIA

  • Download the installation file for your selected JetPack from the NVIDIA archive into a working directory of your choice. The following table shows step by step where to download the appropriate files.

  • Open a terminal window (CTRL + ALT + T) on your Linux host PC and navigate to your download location.

Device
Example
  • Extract the tar.gz file you just downloaded.

Device
Example
  • Change directory to the extracted rootfs folder.

Device
Example
  • Extract the rootfs.

Device
Example
  • Change directory to the extracted Linux_for_Tegra folder.

Device
Example
  • Install the flashing prerequisites.

Device
Example
  • Apply the binaries.

Device
Example
  • On Auvidea carrier boards, you have to adjust the EEPROM size: change cvb_eeprom_read_size = <0x100>; in <working directory>/Linux_for_Tegra/bootloader/t186ref/BCT/tegra234-mb2-bct-misc-p3767-0000.dts to cvb_eeprom_read_size = <0x0>

Device
Example

hashtag
Connect carrier board to host PC

  • Connect the system to the Linux host PC. Please use a USB 2.0 cable (micro-USB on the carrier board).

  • Connect your system to power (please see specifications to apply the right voltage for your system when using your own power supply). The system will start automatically and detect the host PC and enter the flashing state (also called force recovery mode). In some cases, you will have to manually press or short pins before connecting to your power source to enter force recovery mode. For example, with the JN30D you will need to short Pins 7 & 8 of J32 to enter force recovery. A simple way is to use tweezers. Please see the Technical Reference Manual for a detailed pin description. You can also see the FAQs in this document for further information.

Device
Example

Your system is now connected properly and ready to be flashed

hashtag
Flashing of system

  • Use this flash command for your system.

Device
Example
  • Please connect a monitor to the system. After the flashing process has completed, the system should automatically boot and show the Ubuntu desktop.

Example
circle-check

You now have a functioning system ready for your needs.

hashtag
Maintaining functionality

circle-exclamation

Do NOT use sudo apt-get upgrade!

After successful flashing please be aware that if you use “sudo apt-get upgrade” some applied changes performed in this guide (Bootloader, Kernels, DTBs, …) will be overwritten by standard Nvidia packages. This will most probably brick some board functionality and some interfaces may not work correctly anymore.

When overriding the Auvidea configurations only basic functionality like 1080p HDMI, some USB ports, Ethernet may work.

Without the correct configurations and packages 4k HDMI, PCIe ports, some USB ports, CSI, CAN, … will not work.

If you know what you are doing, you can exclude the Nvidia Debian packages from the Nvidia sources.list from being updated. This prevents overriding relevant files and changes.

If you are unsure, we recommend NOT UPGRADE YOUR SYSTEM.

In the case you accidental upgraded your system and some board functionality stopped working correctly, we recommend to reflash your system according to this guide.

Check that the connection is established with the “lsusb” command. You should find one entry with “Nvidia Corp.” as highlighted below.

Host PC

cd <path_to_downloadeded_tar>

Host PC

tar xf Jetson_Linux_R35.2.1_aarch64.tbz2

Host PC

cd Linux_for_Tegra/rootfs/

Host PC

sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R35.2.1_aarch64.tbz2

Host PC

cd Linux_for_Tegra

Host PC

sudo ./tools/l4t_flash_prerequisites.sh

Host PC

sudo ./apply_binaries.sh

Before

After

Host PC

lsusb

Terminal host PC example

Host PC

HDMI monitor Jetson system

Overview

This guide is intended to help you flash your Auvidea carrier board system successfully for the first time and get everything up and running.

We offer different flashing guides depending on your system and needs. If you are unsure, the best place to start is the simple flashing guide. You can also check out the first paragraph of every guide to get further information and check if it is applicable to your case.

hashtag
Document revisions and changes

Version
Changes
circle-exclamation

Disclaimer PDF export

Auvidea can take no responsibility for the accuracy or completeness of any information presented in an exported PDF document as the export feature is developed, managed and maintained by GitBook. Those export mechanisms are subject to change without interaction by Auvidea. Please note that Auvidea includes this version table to identify the document and reference changes.

Simple flashing guide

The recommended guide

The simple flashing guide describes how to flash your Auvidea carrier board system, so it can boot and run. With this guide, everything you will need is included in the download package you can get from Auvidea. This flashing guide is recommended for the Auvidea carrier board series. If you are using an Orin nano or Orin NX module pleas see the Orin nano & Orin NX flashing guide.

hashtag
Before you start

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --showlogs --network usb0 p3509-a02+p3767-0000 internal

2.1

Added Preliminary Orin nano & Orin NX flashing guide

2.2

Moved software setup guide from PDF version to Gitbook

2.3

Added Disclaimer to inform about PDF export problems on Gitbook

Graphical user interface, text

Description automatically generated
A screenshot of a computer

Description automatically generated with low confidence
If you are using an AGX Orin, you have to use the Advanced flashing guide
  • Please make sure to use a Linux host PC with Ubuntu 18.04 LTS or Ubuntu 20.04 LTS (other versions may work, but some caused problems in the past!) operating system. Please use a native setup (no virtual machine). This Host PC should have a high bandwidth internet connection for the download of 3 GB+ installation file in the following steps

  • You should make sure that Python 2.x is installed, as it is required for the NVIDIA SDK Manager. You can check your installation in the command line with: python --version example return: Python 2.7.17. If you do not get a return or error, you do not have Python 2.x installed. (Please use: sudo apt install python to install Python 2.x to your system)

  • You will also need a high-quality standard USB 2.0 Type A to micro-USB 2.0 cable

  • hashtag
    Download installation file from Auvidea

    • Download the installation file for your setup from Auvidea. JNxxx means the carrier board series starting with JN, for example JN30D. Please check the description to download the right file for your module (NX, TX2,…)

    • Open a terminal window (CTRL + ALT + T) on your Linux host PC and navigate to your download location

    Device
    Example

    Host PC

    cd <path_to_downloadeded_tar>

    • Extract the tar.gz file you just downloaded

    Device
    Example

    Host PC

    tar xvzf bootloader.tar.gz

    Terminal host PC

    • Change directory to the extracted bootloader folder

    Device
    Example

    Host PC

    cd ./bootloader

    Terminal host PC

    hashtag
    Connect carrier board to host PC

    1. Connect the system to the Linux host PC. Please use a USB 2.0 cable (micro-USB on the carrier board)

    2. Connect your system to power

      • Apply correct Voltage to prevent damage

      • The system should start automatically and detect the host PC and enter the flashing state (also called force recovery mode)

        • In some cases, you have to manually enable flashing state by pressing or shorting pins before connecting to your power source. Please check the Pinout description of your product if you have to set a Jumper

        • If your Jetson has an already running image, you can use sudo reboot --force forced-recovery to reboot in to force recovery mode

    3. Check that the connection is established with the “lsusb” command. You should find one entry with “Nvidia Corp.” as highlighted below

    Device
    Example

    Host PC

    lsusb

    Terminal host PC example

    Your system is now connected properly and ready to be flashed

    hashtag
    Flashing of system

    • Use the flashcmd script in the extracted bootloader folder to transfer the software into the Jetson compute module and flash it

    Device
    Example

    Host PC

    sudo bash ./flashcmd.txt

    Terminal host PC

    • Please connect a monitor to the system. After the flashing process has completed, the system will automatically boot and show the Ubuntu desktop or the first setup screen

    Device
    Example

    HDMI monitor Jetson system after following the first setup

    circle-check

    You now have a functioning system ready for your needs.

    hashtag
    Maintaining functionality

    After successful flashing please be aware that if you use “sudo apt-get upgrade” some applied changes performed in this guide (Bootloader, Kernels, DTBs, …) will be overwritten by standard Nvidia packages. This will most probably brick some board functionality and some interfaces may not work correctly anymore.

    When overriding the Auvidea configurations only basic functionality like 1080p HDMI, some USB ports, Ethernet could work

    Without the correct configurations and packages 4k HDMI, PCIe ports, some USB ports, CSI, CAN, … will not work!

    If you know what you are doing, you can exclude the Nvidia Debian packages from the Nvidia sources.list from being updated. This prevents overriding relevant files and changes.

    If you are unsure, we recommend DO NOT UPGRADE YOUR SYSTEM.

    In the case you accidental upgraded your system and some board functionality stopped working correctly, we recommend to reflash your system according to this guide.

    circle-exclamation

    using sudo apt-get upgrade will stop your carrier board from working correctly!

    hashtag
    Installing additional NVIDIA SDK components

    • Now you can install additional NVIDIA SDK components. Please connect the system to the Internet. Open a terminal window on the system (CTRL ALT T). Use apt-get to install the components. If this fails, please check the Internet connection of the system

    Device
    Example

    Jetson system

    Terminal Jetson system (example)

    hashtag

    SSD-Boot flashing guide

    The guide for experienced users

    This guide describes how to set up your system to boot partially or fully from an M.2 SSD, depending on your module choice.

    This guide is intended for experienced users only.

    hashtag
    Partial SSD boot for Jetson Nano, NX, TX2 NX

    The Jetson Nano, NX and TX2 NX modules do not support native boot purely from the SSD.

    Questions and Answers

    hashtag
    Frequently Asked Questions

    • Q: Why is my X221 not going into force recovery?

    To still benefit from the SSD speed and size, this guide describes how to move your Root FS to your SSD.

    You can also use the Partial SSD boot flashing guide for the Jetson Xavier/Orin series, but we recommend the Native SSD boot guide for Jetson Xavier/Orin systems.

    Note: If you run in to problems, there is also another resource from JetsonHacks: “Jetson Xavier NX – Run from SSD” which you can find on Google.

    hashtag
    Before you start

    • Please make sure your system is set up and running according to our simple or advanced flashing guide from SECTION 2 or SECTION 3.

    hashtag
    Locate and identify storage device

    Ubuntu

    Note

    Jetson system

    With the disc program you can find your device as shown in the Picture.

    In this example: /dev/sdb1

    The first thing you need to do is to identify the storage device you are intending to use.

    Make sure your intended SSD storage device does not hold valuable data, as the following steps will format this device.

    SSD-Storage device:

    When working with NVMe SSD, your device name should look like this: /dev/nvme0n1p1

    The ending p1 stands for partition one. In the following steps, you must remove the partition information from the device path. See the following example:

    <YOUR_STORAGE_DEVICE> = /dev/nvme0n1

    USB-Storage device:

    When working with external USB devices, your device name should look like this: /dev/sdb1

    The ending 1 stands for partition one. In the following steps, you must remove the partition information from the device path. See the following example:

    <YOUR_STORAGE_DEVICE> = /dev/sdb

    hashtag
    Set up Root FS on SSD

    Please execute the following steps to copy your Root FS to your SSD-Boot storage.

    hashtag
    Format the storage device

    Device
    Example

    Jetson system

    hashtag
    Create the Root FS partition

    Device
    Example

    Jetson system

    hashtag
    Create file system

    Device
    Example

    Jetson system

    hashtag
    Copy the existing Root FS to the storage device

    Device
    Example

    Jetson system

    hashtag
    Switch boot device to SSD

    You need to change your root target in exlinux.conf to the SSD. This is necessary so that the operating system knows where to find the system files.

    hashtag
    Open exlinux.conf

    Device
    Example

    Jetson system

    hashtag
    Modify the exlinux.conf by changing the root path

    Device
    Example

    Jetson system

    hashtag
    After a reboot, your system will start from the SSD

    hashtag
    Validate

    hashtag
    You can validate the SSD boot by using the following test

    Device
    Example

    Jetson system

    Wen <Your_Storage_device> shows up to what you have set it, you successfully moved your Root FS and booted from SSD.

    circle-check

    You now have a functioning system ready for your needs.

    hashtag
    Native SSD boot for Jetson AGX Xavier, AGX Orin, Xavier NX series

    This guide is only applicable for the Jetson AGX Xavier, Xavier NX and AGX Orin series. These series support direct boot from NVMe SSD.

    Note: If you run in to problems, there is also another resource from JetsonHacks “Jetson Xavier NX – Run from SSD” that might help you out.

    hashtag
    Before you start

    • Please follow the steps described in the Advanced flashing guide (experienced users). The same steps apply if you want your system to boot from the SSD. You only must change one command from the Advanced flashing guide (experienced users) to apply the native SSD boot.

    hashtag
    Flash system

    hashtag
    Please change the command as displayed below.

    The crossed-out command is just for reference and must not be executed!

    Device
    Example

    Host PC

    sudo ./flash <your_module> mmcblk0p1

    sudo ./nvsdkmanager_flash.sh --storage nvme0n1p1

    circle-check

    After following the Advanced flashing guide and replacing the command as discribet you now have a functioning system ready for your needs.

    A: If your system is not going into force recovery, please contact our support as you may got a system with a mismatched firmware.
  • Q: Why is my system not entering the force recovery state?

    • A: Most of our carrier boards are design to enter force recovery mode when they detect a Host PC. This detection only works one time automatically after the system was connected to its power supply. We recommend unplugging your system bevor connecting to a Host PC and plugging it back in to power after connecting.

    • A: If your system still does not enter force recovery you may have to press the force recovery button or short the respective pins bevor connecting to power (please see the Technical Reference Manual for a detailed pinout description).

    • A: If you cannot disconnect your system from power, it is also possible to enter force recovery via a button sequence.

      • Press/jumper “force recovery” button/pins

      • Press/jumper “reset” button/pins

  • Text

Description automatically generated
    Text

Description automatically generated
    Graphical user interface, text

Description automatically generated
    Text

Description automatically generated
    A screenshot of a computer

Description automatically generated with low confidence
    Text

Description automatically generated

    Advanced flashing guide

    The guide for experienced users

    The alternative flashing guide is intended to be used if you encounter problems with the recommended guide. This guide is more general and should also work with boards from other vendors and requires a few more steps. In this guide, you will download the core operating system from NVIDIA with the SDK manager and only download the files that need to be changed for your carrier board from Auvidea.

    hashtag
    Before you start

    • Please make sure to use a Linux host PC with Ubuntu 18.04 LTS or Ubuntu 20.04 LTS (other versions may work, but some caused issues in the past!) operating system. Please use a native setup (no virtual machine). This host PC should have a high bandwidth internet connection for the download of 2 GB+ installation file in the following steps.

    • You should make sure that Python 2.x is installed, as it is required for the NVIDIA SDK Manager. You can check your installation in the command line with: python --version example return: Python 2.7.17. If you do not get a return or error, you do not have Python 2.x installed. Please use: sudo apt install python to install Python 2.x to your system)

    • You will also need a high-quality standard USB 2.0 Type A to micro-USB 2.0 cable.

    • If you are using an AGX Orin please see the Flashing the AGX Orin section, as additional steps are required.

    hashtag
    Install and configure NVIDIA SDK manager

    • Download and install the for Ubuntu

    • Install Jetpack 4.6 and up for your Jetson module (AGX Xavier)

    Device
    Example
    • Skip the flashing process after installation. This step is necessary to set up your file system and contents of your Host PC. Do not flash with this configuration! Specific steps need to be performed to enable all functionality of your carrier board, as described in the following steps.

    Device
    Example

    hashtag
    Download installation files from Auvidea

    The following steps are necessary to enable all features of the Auvidea carrier board.

    It is possible to skip these steps and flash your system without them. But then you will only be able to use basic functionality like 1080p HDMI, some USB ports, Ethernet.

    Without these steps 4k HDMI, PCIe ports, some USB ports, CSI, CAN, … will not work, we strongly recommend to follow it if possible.

    • Download our latest firmware for your carrier board

    • Extract the downloaded tar ball from our website

    Device
    Example
    • Change directory into the extracted files and extract the "kernel_out.tar.bz2"

    Device
    Example
    • Copy the extracted kernel_out folder into your jetpack 4.6 (or up) L4t (Linux for Tegra) folder. Usual File path: /home/<YOUR_USERNAME>/nvidia/nvidia_sdk/JetPack_<Jetpack_version>_Linux_<Jetson_module>/Linux_for_Tegra

    Device
    Example

    hashtag
    Flashing the AGX Orin

    If you want to flash a AGX Orin the following steps should be followed additionally to the flashing guide from above. Other modules (like AGX Xavier, Nano, Nano NX, …) do not need those additional steps and you should continue with the next step.

    Future installation packages from Auvidea should already include the following changes. In that case, you can use the following steps as a check or implement them yourself when skipping the Auvidea installation files.

    hashtag
    AGX Orin Jetpack compatibility

    When flashing an AGX Orin production module, the Jetpack version 5.0 GA must be used.

    The Jetpack versions 5.0 DP and 5.0.1 DP do not work!

    hashtag
    Necessary changes

    Independent of the used AGX Orin version, you must make the following changes.

    These changes must be done in the file system of the Host PC before flashing it to the AGX Orin module.

    Usual File path:

    /home/<YOUR_USERNAME>/nvidia/nvidia_sdk/JetPack_<Jetpack_version>_Linux_<Jetson_module>/Linux_for_Tegra/ bootloader/tegra234-mb2-bct-common.dtsi

    Operation
    In tegra234-mb2-bct-common.dtsi

    Also, the ODMDATA must be changed.

    Usual File path:

    /home/<YOUR_USERNAME>/nvidia/nvidia_sdk/JetPack_<Jetpack_version>_Linux_<Jetson_module>/Linux_for_Tegra/ p3701.conf.common

    Operation
    In p3701.conf.common

    hashtag
    Flashing of system

    • Connect a USB 2 micro-USB cable to the Jetson bevor powering it up

    • After connecting to the host PC, power up your Jetson. This will put the system in to flashing mode (also called force recovery mode) with a connected Host PC. In some cases, you will have to manually press the force recovery mode button or short pins to enter force recovery mode. For example, with the JN30D you will need to short Pins 7 & 8 of J32 to enter force recovery. A simple way is to use tweezers or jumpers. Please see the Technical Reference Manual for a detailed pin description.

    • Check that the connection is established with the lsusb command. You should find one entry with Nvidia Corp. as highlighted below.

    Device
    Example
    • Open your terminal in the <Jetpakc_L4T_folder> folder, if you are not already in it.

    • You can now flash your system using the following command

    Device
    Example
    Module name
    <your_module>

    (If you are following the native SSD boot flashing guide. The following command needs to be changed, as described in the chapter.)

    • Please connect a monitor to the system. After the flashing process has completed, the system should automatically boot and show the Ubuntu desktop.

    Device
    Example
    circle-check

    You now have a functioning system ready for your needs.

    • Please also see 2.5 Maintaining functionality

    hashtag
    Installing additional NVIDIA SDK components

    • Now you can install additional NVIDIA SDK components. Please connect the system to the internet. Use apt-get to install the components. If this fails, please check the Internet connection of the system.

    Device
    Example
    install_jetpack.sh
    sudo apt-get update && sudo apt-get install nvidia-jetpack

    Release/disconnect “reset” button/pins

  • Release/disconnect “force recovery” button/pins a few seconds later then the “reset” button/pins

  • Host PC

    Host PC

    Host PC

    Host PC

    Host PC

    Replace

    cvb_eeprom_read_size = <0x100>

    Replace with

    cvb_eeprom_read_size = <0x0>

    Set

    ODMDATA="gbe-uphy-config-0,hsstp-lane-map-3,nvhs-uphy-config-0,hsio-uphy-config-16"

    Host PC

    lsusb

    Terminal host PC (example)

    Host PC

    sudo ./flash <your_module> mmcblk0p1

    Jetson Nano

    jetson-nano-emmc

    Jetson AGX-Xavier

    jetson-xavier

    Jetson Xavier NX

    jetson-xavier-nx-devkit-emmc

    Jetson TX2 NX

    jetson-xavier-nx-devkit-tx2-nx

    …

    …

    HDMI monitor Jetson system

    Jetson system

    Terminal Jetson system example

    Nvidia SDK managerarrow-up-right
    Graphical user interface, application

Description automatically generated
    extract files
    tar xvf <your_downloaded_tar>.tar.bz2
    extract files
    cd <your_extracted_downloaded_tar>
    tar xvf kernel_out.tar.bz2#
    copy image content
    rsync -axHAWX --numeric-ids --info=progress2./kernel_out/<Jetpack_L4T_folder>
    install_jetpack.sh
    sudo apt-get update && sudo apt-get install nvidia-jetpack
    create partition
    sudo parted <YOUR_STORAGE_DEVICE> mklabel gpt
    resize partition
    sudo parted <YOUR_STORAGE_DEVICE> mkpart APP 0GB <YOUR_ROOTFS_SIZE>
    make filesystem
    sudo mkfs.ext4 <YOUR_STORAGE_DEVICE>1
    copy_rootfs.sh
    sudo mount <YOUR_STORAGE_DEVICE> /mnt
    sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/*","/lost+found"} / /mnt/
    sudo nano /boot/exlinux/exlinux.conf
    extlinux entry
    LABEL primary
          MENU LABEL primary kernel
          LINUX /boot/Image
          INITRD /boot/initrd
          APPEND ${cbootargs} quiet root=<YOUR_STORAGE_DEVICE>1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
    df output
    test@test-desktop:~$ df /
    Filesystem     1K-blocks     Used Available Use% Mounted on
    /dev/nvme0n1p1 122507912 14618752 102744904  13% /
    Text

Description automatically generated
    Graphical user interface, text

Description automatically generated
    A screenshot of a computer

Description automatically generated with low confidence
    Text

Description automatically generated
    Jetson Xavier NX - Run from SSD - JetsonHacksJetsonHackschevron-right
    Logo
    Auvidea - hardware for AI computing - NVIDIA Elite PartnerAuvideachevron-right
    Logo