Difference between revisions of "AIR-020"

From ESS-WIKI
Jump to: navigation, search
(Created page with " == Linux BSP Version == Ubuntu 18.04<br/> Kernel 4.9.201 == Released Image == *IoTGateway/BSP/Linux/OS_Support_List_Jetpack_4.5.1_L4T_R32.5.1|OS Support List ( Jetpack 4...")
 
 
(9 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
== Released Image ==
 
== Released Image ==
  
*[[IoTGateway/BSP/Linux/OS_Support_List_Jetpack_4.5.1_L4T_R32.5.1|OS Support List ( Jetpack 4.5.1 / L4T R32.5.1 )]]  
+
*[http://ess-wiki.advantech.com.tw/view/AIM-Linux/BSP/NV/Linux_Ubuntu_OS_Release_note/Ubuntu18/Internal OS Support List(based on Ubuntu18)]  
  
 
== Build Environment on Host ==
 
== Build Environment on Host ==
Line 25: Line 25:
 
== Dependncy Library ==
 
== Dependncy Library ==
  
Please install library in the HOST outside of docker if you get <span style="color:#CD0000;">Exec format error</span>.
+
Please install library in the HOST outside of docker if you get <span data-darkreader-inline-color="" style="color: rgb(205, 0, 0); --darkreader-inline-color: #ff3d3d;">Exec format error</span>.
 
<pre>$sudo apt-get install qemu-user-static
 
<pre>$sudo apt-get install qemu-user-static
 
</pre>
 
</pre>
Line 45: Line 45:
 
Jetpack 4.6.1 / L4T 32.7.1
 
Jetpack 4.6.1 / L4T 32.7.1
 
<pre>$ repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/AIR-020/_git/manifests -m 3271.xml
 
<pre>$ repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/AIR-020/_git/manifests -m 3271.xml
 +
</pre>
 +
 +
Jetpack 5.1.0 / L4T 35.2.1
 +
<pre>$ repo init -u https://dev.azure.com/AIM-Linux/risc_nvidia_jetson_35.2.1/_git/manifests -m air020.xml
 +
</pre>
 +
 +
Jetpack 5.1.2 / L4T 35.4.1
 +
<pre>$ repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/risc_nvidia_jetson_35.4.1/_git/manifest -m air020.xml
 
</pre>
 
</pre>
  
Line 57: Line 65:
 
"  &nbsp;: 210 - Jetson Nano"</pre>
 
"  &nbsp;: 210 - Jetson Nano"</pre>
  
Build 34.1.1 public board
+
Build 34.1.1 public board /&nbsp;L4T 35.2.1 /&nbsp;L4T 35.4.1
 
<pre>sudo ./scripts/build_release.sh -v <VERSION>
 
<pre>sudo ./scripts/build_release.sh -v <VERSION>
 
</pre>
 
</pre>
Line 79: Line 87:
 
Make sure your Host PC has installed following package:
 
Make sure your Host PC has installed following package:
 
<pre>$ sudo apt-get update
 
<pre>$ sudo apt-get update
$ sudo apt-get install binutils device-tree-compiler libxml2-utils -y
+
$ sudo apt-get install binutils device-tree-compiler libxml2-utils python -y
 +
</pre>
 +
 
 +
For l4t_initrd_flash.sh using, please install other packages
 +
<pre>$ sudo apt-get install sshpass abootimg
 +
</pre>
 +
 
 +
For Ubuntu 22.04, please install this pakcage
 +
<pre>$ sudo apt-get install python-is-python3
 
</pre>
 
</pre>
  
 
  Before flashing the image, power off the DUT, press recovery button and power on.
 
  Before flashing the image, power off the DUT, press recovery button and power on.
   <span style="color:#FF0000;">'''MARK'''</span> &nbsp;: For AIR-020 project, please add sudo in front of untar command to extracet&nbsp;the image.
+
   <span data-darkreader-inline-color="" style="color: rgb(255, 0, 0); --darkreader-inline-color: #ff1a1a;">'''MARK'''</span> &nbsp;: For AIR-020 project, please add sudo in front of untar command to extracet&nbsp;the image.
  
{| border="1" cellpadding="1" cellspacing="1" style="width: 1100px;"
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 600px;"
 
|-
 
|-
 
! scope="row" | &nbsp;
 
! scope="row" | &nbsp;
! scope="col" style="width: 438px;background-color:rgb(80, 80, 80);color:#FFFFFF" | AIR-020
+
! data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" scope="col" style="width: 438px; background-color: rgb(80, 80, 80); color: rgb(255, 255, 255); --darkreader-inline-bgcolor: #3c4144; --darkreader-inline-color: #e8e6e3;" | AIR-020
 
|-
 
|-
 
! scope="row" | Xavier NX
 
! scope="row" | Xavier NX
 
| style="width: 700px;" |  
 
| style="width: 700px;" |  
$ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh <span style="color:#0000FF;">jetson-xavier-nx-devkit-emmc</span> mmcblk0p1
+
$ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh <span data-darkreader-inline-color="" style="color: rgb(0, 0, 255); --darkreader-inline-color: #337dff;">jetson-xavier-nx-devkit-emmc</span> mmcblk0p1
  
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/194/<br/> $ sudo ./flash.sh <span style="color:#0000FF;">jetson-xavier-nx-devkit-emmc</span> mmcblk0p1
 
 
|-
 
|-
 
! scope="row" | TX2 NX
 
! scope="row" | TX2 NX
| style="width: 700px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh <span style="color:#0000FF;">jetson-xavier-nx-devkit-tx2-nx</span> mmcblk0p1
+
| style="width: 700px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh <span data-darkreader-inline-color="" style="color: rgb(0, 0, 255); --darkreader-inline-color: #337dff;">jetson-xavier-nx-devkit-tx2-nx</span> mmcblk0p1
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh <span style="color:#0000FF;">jetson-xavier-nx-devkit-tx2-nx</span> mmcblk0p1
 
 
|-
 
|-
 
! scope="row" | Nano
 
! scope="row" | Nano
 
| style="width: 700px;" |  
 
| style="width: 700px;" |  
$ cd $TOP/Linux_for_Tegra/210/<br/> $ sudo ./flash.sh <span style="color:#0000FF;">jetson-nano-devkit-emmc</span> mmcblk0p1
+
$ cd $TOP/Linux_for_Tegra/210/<br/> $ sudo ./flash.sh <span data-darkreader-inline-color="" style="color: rgb(0, 0, 255); --darkreader-inline-color: #337dff;">jetson-nano-devkit-emmc</span> mmcblk0p1
  
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/210/<br/> $ sudo ./flash.sh <span style="color:#0000FF;">jetson-nano-devkit-emmc</span> mmcblk0p1
 
 
|}
 
|}
 
'''AIR-030'''
 
<pre>sudo ./flash.sh -d rootfs/boot/tegra234-air030.dtb jetson-agx-orin-devkit mmcblk0p1
 
</pre>
 
  
 
[https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/FlashingSupport.html nVidia&nbsp;: Flash Support]<br/> '''Flash to NVME / SD directly'''<br/> The nVidia provide another flash option&nbsp;: [https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0PI0HA Flashing with initrd]<br/> Applies to: <u>Jetson Xavier NX and Jetson AGX Xavier series only</u>
 
[https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/FlashingSupport.html nVidia&nbsp;: Flash Support]<br/> '''Flash to NVME / SD directly'''<br/> The nVidia provide another flash option&nbsp;: [https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0PI0HA Flashing with initrd]<br/> Applies to: <u>Jetson Xavier NX and Jetson AGX Xavier series only</u>
Line 115: Line 124:
 
== Flash DTB ==
 
== Flash DTB ==
  
{| border="1" cellpadding="1" cellspacing="1" style="width: 891px;"
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 600px;"
 
|-
 
|-
 
! scope="row" | &nbsp;
 
! scope="row" | &nbsp;
! scope="col" style="width: 389px;background-color:rgb(80, 80, 80);color:#FFFFFF" | EPC-R7200
+
! data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" scope="col" style="width: 438px; background-color: rgb(80, 80, 80); color: rgb(255, 255, 255); --darkreader-inline-bgcolor: #3c4144; --darkreader-inline-color: #e8e6e3;" | AIR-020
! scope="col" style="width: 438px;background-color:rgb(80, 80, 80);color:#FFFFFF" | AIR-020
 
 
|-
 
|-
 
! scope="row" | Xavier NX
 
! scope="row" | Xavier NX
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span style="color:#0000FF;">xavier-nx-epcr7200</span> mmcblk0p1
+
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span data-darkreader-inline-color="" style="color: rgb(0, 0, 255); --darkreader-inline-color: #337dff;">jetson-xavier-nx-devkit-emmc</span> mmcblk0p1
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span style="color:#0000FF;">jetson-xavier-nx-devkit-emmc</span> mmcblk0p1
 
 
|-
 
|-
 
! scope="row" | TX2 NX
 
! scope="row" | TX2 NX
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span style="color:#0000FF;">tx2-nx-epcr7200</span> mmcblk0p1
+
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span data-darkreader-inline-color="" style="color: rgb(0, 0, 255); --darkreader-inline-color: #337dff;">jetson-xavier-nx-devkit-tx2-nx</span> mmcblk0p1
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span style="color:#0000FF;">jetson-xavier-nx-devkit-tx2-nx</span> mmcblk0p1
 
 
|-
 
|-
 
! scope="row" | Nano
 
! scope="row" | Nano
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/210/<br/> $ sudo ./flash.sh -r -k DTB <span style="color:#0000FF;">nano-epcr7200</span> mmcblk0p1
+
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/210/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span data-darkreader-inline-color="" style="color: rgb(0, 0, 255); --darkreader-inline-color: #337dff;">jetson-nano-devkit-emmc</span> mmcblk0p1
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/210/<br/> $ sudo ./flash.sh -r -k kernel-dtb <span style="color:#0000FF;">jetson-nano-devkit-emmc</span> mmcblk0p1
 
 
|}
 
|}
 
== Flash Mac Address ==
 
 
=== <span style="color:#0000CD;">GBE in eeprom</span> ===
 
<pre>$ sudo ./eeprom $SOC $mac_address</pre>
 
 
Where SOC
 
<pre>  186&nbsp;: TX2-NX
 
  194&nbsp;: XavierNX
 
  210&nbsp;: Nano
 
</pre>
 
 
=== <span style="color:#0000CD;">Intel I210</span> ===
 
<pre>$ sudo -s
 
$ BDF=`lspci | grep 210 | awk '{print $1}'`
 
$ setpci -s $BDF COMMAND=0007
 
</pre>
 
 
Get NIC
 
<pre>$./EepromAccessTool</pre>
 
 
Flash I210 address with mac_address = D4E5F6123456 ( If mac address = D4:E5:F6:12:34:56 )
 
<pre>$ ./EepromAccessTool -nic=<NIC> -f=Dev_Start_I210_Copper_NOMNG_8Mb_A2_3.25_0.03.hex -mac=$mac_address</pre>
 
 
Cold reboot the device.
 
  
 
== Test ==
 
== Test ==
Line 164: Line 144:
 
<pre>$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ELAA/_git/advtest-factory
 
<pre>$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ELAA/_git/advtest-factory
 
</pre>
 
</pre>
 +
 +
== Reference ==
 +
 +
[[AIR_020_Development|AIR-020 Development]]

Latest revision as of 06:05, 24 January 2024

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