AIR-020

From ESS-WIKI
Jump to: navigation, search

Linux BSP Version

Ubuntu 18.04
Kernel 4.9.201

Released Image

Build Environment on Host

Currently, we adopt Docker as build environment.
You can get the latest version of advrisc/u18.04-imx8lbv1 Docker image for developing nVidia jetson projects.
Docker command:

$ docker pull advrisc/u18.04-imx8lbv1

Run Docker example

Step1 Run docker container (example)

sudo docker run -it --name jetson_linux_risc -v /home/bsp/myLinux:/home/adv/BSP:rw --privileged advrisc/u18.04-imx8lbv1:latest /bin/bash

Step2 In container, change the user. (example)

 adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP

Dependncy Library

Please install library in the HOST outside of docker if you get Exec format error.

$sudo apt-get install qemu-user-static

Getting Linux Source Code

$ export GIT_SSL_NO_VERIFY=1

Jetpack 4.5.1 / L4T 32.5.1

$ cd ~/BSP
$ mkdir jetson_linux_risc
$ cd jetson_linux_risc
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
$ repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/AIR-020/_git/manifests
$ repo sync

Jetpack 4.6.1 / L4T 32.7.1

$ repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/AIR-020/_git/manifests -m 3271.xml

Jetpack 5.1.0 / L4T 35.2.1

$ repo init -u https://dev.azure.com/AIM-Linux/risc_nvidia_jetson_35.2.1/_git/manifests -m air020.xml

Jetpack 5.1.2 / L4T 35.4.1

$ repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/risc_nvidia_jetson_35.4.1/_git/manifest -m air020.xml

Build Image

Build Release Image

sudo ./scripts/build_release.sh -s <SOC> -v <VERSION>
Where
"-v : Image version" 00001~99999
"-s : 186 - Jetson TX2 NX"
"   : 194 - Jetson Xavier NX"
"   : 210 - Jetson Nano"

Build 34.1.1 public board / L4T 35.2.1 / L4T 35.4.1

sudo ./scripts/build_release.sh -v <VERSION>

== Build Kernel

sudo ./scripts/build_kernel.sh -s <SOC> -v <VERSION>

nVidia : Build the Kernel

Enter Download Mode

Press following button + power ON, or

Air020 recovery button.png

Enter following command in the device,

$ sudo reboot --force forced-recovery

Flash Image

Make sure your Host PC has installed following package:

$ sudo apt-get update
$ sudo apt-get install binutils device-tree-compiler libxml2-utils python -y

For l4t_initrd_flash.sh using, please install other packages

$ sudo apt-get install sshpass abootimg

For Ubuntu 22.04, please install this pakcage

$ sudo apt-get install python-is-python3
Before flashing the image, power off the DUT, press recovery button and power on.
 MARK  : For AIR-020 project, please add sudo in front of untar command to extracet the image.
  AIR-020
Xavier NX

$ cd $TOP/Linux_for_Tegra/186/
$ sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

TX2 NX $ cd $TOP/Linux_for_Tegra/186/
$ sudo ./flash.sh jetson-xavier-nx-devkit-tx2-nx mmcblk0p1
Nano

$ cd $TOP/Linux_for_Tegra/210/
$ sudo ./flash.sh jetson-nano-devkit-emmc mmcblk0p1

nVidia : Flash Support
Flash to NVME / SD directly
The nVidia provide another flash option : Flashing with initrd
Applies to: Jetson Xavier NX and Jetson AGX Xavier series only

Flash DTB

  AIR-020
Xavier NX $ cd $TOP/Linux_for_Tegra/186/
$ sudo ./flash.sh -r -k kernel-dtb jetson-xavier-nx-devkit-emmc mmcblk0p1
TX2 NX $ cd $TOP/Linux_for_Tegra/186/
$ sudo ./flash.sh -r -k kernel-dtb jetson-xavier-nx-devkit-tx2-nx mmcblk0p1
Nano $ cd $TOP/Linux_for_Tegra/210/
$ sudo ./flash.sh -r -k kernel-dtb jetson-nano-devkit-emmc mmcblk0p1

Test

Factory Test

$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ELAA/_git/advtest-factory

Reference

AIR-020 Development