Difference between revisions of "Linux BSP User Guide for jetson series"

From ESS-WIKI
Jump to: navigation, search
 
(130 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black">
 
  
=== This page contains the following errors: ===
+
== Project ==
<div style="font-family:monospace;font-size:12px">error on line 24 at column 3315: Opening and ending tag mismatch: table line 24 and colgroup</div>
 
=== Below is a rendering of the page up to the first error. ===
 
  
&lt;/parsererror&gt; &lt;parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black"&gt;
+
[[AIR-020|AIR-020]]<br/> [[AIR-030|AIR-030]]<br/> [[EPC-R7000|EPC-R7000]]<br/> [[EPC-R7200|EPC-R7200]]<br/> [[EPC-R7300|EPC-R7300]]<br/> [[AFE-R750|AFE-R750]]
  
=== This page contains the following errors: ===
+
== Reference ==
<div style="font-family:monospace;font-size:12px">error on line 24 at column 3164: Opening and ending tag mismatch: table line 24 and colgroup</div>
 
=== Below is a rendering of the page up to the first error. ===
 
  
&lt;/parsererror&gt;
+
<span style="font-size:medium;"><span style="color:#006400;">'''Miscellaneous'''</span> </span><br/> [[Jetson_Boot_Device|Boot Device]]<br/> [[Jetson_Simultaneous_flashing_to_multiple_target_devices.|Simultaneous flashing to multiple target devices.]]<br/> [[Jetson_Device_PID_VID|Device PID VID]]<br/> [[NVidia_check_soc_jetpack|SOC module / Jetpack version / Chip ID / target_board]]<br/> [https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/index.html nVidia&nbsp;: Developer Guide]<br/> [https://elinux.org/Jetson/L4T_BSP_development_tips elinux.org&nbsp;: Jetson L4T BSP_development tips]<br/> [https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/jetson_eeprom_layout.html Jetson Module EEPROM Layout]
  
== Linux BSP Version ==
+
<span style="font-size:medium;"><span style="color:#006400;">'''OTA'''</span></span><br/> [https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/updating_jetson_and_host.html nVidia&nbsp;: Over-the-Air Update]<br/> [https://developer.ridgerun.com/wiki/index.php/How_to_Use_A/B_Filesystem_Redundancy_and_OTA_with_NVIDIA_Jetpack How to Use A/B Filesystem Redundancy and OTA with NVIDIA Jetpack]<br/> [https://wiki.seeedstudio.com/Update-Jetson-Linux-OTA-Using-Allxon/ Update Jetson Linux Over-the-Air Using Allxon]
  
Ubuntu 18.04
+
<span style="font-size:medium;"><span style="color:#006400;">'''Backup / Restore'''</span></span><br/> [https://elinux.org/Jetson/Clone eLinux:Jetson/Clone]
 
 
Kernel 4.9.201
 
 
 
== Build Environment on Host ==
 
 
 
Currently, we adopt [https://www.docker.com/ Docker] as build environment.
 
 
 
You can get the latest version of advrisc/u18.04-imx8lbv1 Docker image for developing nVidia jetson&nbsp;projects.
 
 
 
Docker command:
 
<pre>$ docker pull advrisc/u18.04-imx8lbv1</pre>
 
 
 
== Run Docker example ==
 
 
 
Step1 Run docker container (example)
 
<pre>sudo docker run -it --name jetson_linux_risc -v /home/bsp/myLinux:/home/adv/BSP:rw --privileged advrisc/u18.04-imx8lbv1:latest /bin/bash
 
</pre>
 
 
 
Step2 In container, change the user. (example)
 
<pre> adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP</pre>
 
 
 
== Install Some tools ==
 
<pre>$sudo apt-get install expect
 
</pre>
 
 
 
== Getting Linux Source Code ==
 
 
 
EPC-R7200
 
<pre>$ 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/repo init -u https://gitlab.wise-paas.com/epc-r7200/manifests.git
 
$ ../repo/repo sync
 
</pre>
 
 
 
AIR-020
 
<pre>$ 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/repo init -u https://gitlab.wise-paas.com/air-020/manifests.git
 
$ ../repo/repo sync
 
</pre>
 
 
 
== Build Image ( EPC-R7200 / AIR-020 ) ==
 
 
 
Xavier NX / TX2 NX
 
<pre>$ cd $TOP
 
$ sudo ./scripts/build.sh -s 186
 
</pre>
 
 
 
Nano
 
<pre>$ cd $TOP
 
$ sudo ./scripts/build.sh -s 210
 
</pre>
 
 
 
== Build Kernel ==
 
 
 
Xavier NX / TX2 NX
 
<pre>$ cd $TOP
 
$ sudo ./scripts/build_kernel.sh -s 186
 
</pre>
 
 
 
Nano
 
<pre>$ cd $TOP
 
$ sudo ./scripts/build_kernel.sh -s 210</pre>
 
 
 
== Flash Image ==
 
 
 
Before flashing the image, power off the DUT, press recovery button and power on.
 
 
 
{| border="1" cellspacing="1" cellpadding="1" style="width: 891px;"
 
|-
 
! scope="row" | <br/>
 
! scope="col" style="width: 389px;" | EPC-R7200<br/>
 
! scope="col" style="width: 438px;" | AIR-020<br/>
 
|-
 
! scope="row" | Xavier NX<br/>
 
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/186/<br/>$ sudo ./flash.sh -d <span style="color:#800080;">./bootloader/</span><span style="color:#0000FF;">tegra194-epcr7200.dtb</span> &nbsp;<span style="color:#0000FF;">jetson-xavier-nx-devkit-emmc</span> mmcblk0p1<br/>
 
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/>$ sudo ./flash.sh <span style="color:#0000FF;">jetson-xavier-nx-devkit-emmc</span> mmcblk0p1
 
|-
 
! scope="row" | TX2 NX<br/>
 
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/186/<br/>$ sudo ./flash.sh -d ./<span style="color:#800080;">bootloader/</span><span style="color:#0000FF;">tegra186-epcr7200.dtb</span> &nbsp;<span style="color:#0000FF;">jetson-xavier-nx-devkit-tx2-nx</span> mmcblk0p1<br/>
 
| 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<br/>
 
|-
 
! scope="row" | Nano
 
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/210/<br/>$ sudo ./flash.sh -d ./<span style="color:#800080;">bootloader/</span><span style="color:#0000FF;">tegra210-epcr7200.dtb</span> &nbsp;<span style="color:#0000FF;">jetson-nano-devkit-emmc</span> mmcblk0p1<br/>
 
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/210/<br/>$ sudo ./flash.sh <span style="color:#0000FF;">jetson-nano-devkit-emmc</span> mmcblk0p1<br/>
 
|}
 
 
 
== Flash DTB ==
 
 
 
{| border="1" cellspacing="1" cellpadding="1" style="width: 891px;"
 
|-
 
! scope="row" | <br/>
 
! scope="col" style="width: 389px;" | EPC-R7200<br/>
 
! scope="col" style="width: 438px;" | AIR-020<br/>
 
|-
 
! scope="row" | Xavier NX<br/>
 
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/186/<br/>$ sudo ./flash.sh -r -k kernel-dtb xavier-nx-epcr7200 mmcblk0p1<br/>
 
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/>$ sudo ./flash.sh -r -k kernel-dtb jetson-xavier-nx-devkit-emmc mmcblk0p1
 
|-
 
! scope="row" | TX2 NX<br/>
 
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/186/<br/>$ sudo ./flash.sh -r -k kernel-dtb tx2-nx-epcr7200 mmcblk0p1<br/>
 
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/186/<br/>$ sudo ./flash.sh -r -k kernel-dtb jetson-xavier-nx-devkit-tx2-nx mmcblk0p1<br/>
 
|-
 
! scope="row" | Nano
 
| style="width: 389px;" | $ cd $TOP/Linux_for_Tegra/210/<br/>$ sudo ./flash.sh -r -k DTB nano-epcr7200 mmcblk0p1<br/>
 
| style="width: 438px;" | $ cd $TOP/Linux_for_Tegra/210/<br/>$ sudo ./flash.sh -r -k kernel-dtb jetson-nano-devkit-emmc mmcblk0p1<br/>
 
|}
 
 
 
 
 
 
 
Reference
 
 
 
{| border="1" cellspacing="1" cellpadding="1" style="width: 891px;"
 
|-
 
| colspan="4" height="67" width="272" |
 
Jetson Modules and Configurationswith Respective Jetson Developer Kit Carrier Board
 
 
 
|-
 
| height="67" width="68" |
 
ModulePart Number
 
 
 
| width="68" |
 
Module Notes
 
 
 
| width="68" |
 
Value of&nbsp;$(BOARD)
 
 
 
| width="68" |
 
Notes
 
 
 
|-
 
| height="133" width="68" data-colwidth="190" |
 
Jetson Xavier NX P3668-0000
 
 
 
| width="68" data-colwidth="190" |
 
For development; not for production use.
 
 
 
| width="68" data-colwidth="190" |
 
jetson-xavier-nx-devkit
 
 
 
| width="68" data-colwidth="190" |
 
Flashes QSPI-NOR and microSD card.
 
 
 
|-
 
| height="67" width="68" data-colwidth="190" |
 
Jetson Xavier NX
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
For Development or production use.
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
jetson-xavier-nx-devkit-emmc
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
Flashes QSPI-NOR and eMMC.
 
 
 
|-
 
| height="44" width="68" |
 
P3668-0001
 
 
 
|-
 
| height="267" width="68" data-colwidth="190" |
 
Jetson Nano 2GBP3448-0003
 
 
 
| width="68" data-colwidth="190" |
 
For educational and experimental use; not for production or developing production devices.
 
 
 
| width="68" data-colwidth="190" |
 
jetson-nano-2gb-devkit
 
 
 
| width="68" data-colwidth="190" |
 
Flashes QSPI‑NOR and microSD card.
 
 
 
|-
 
| height="267" width="68" data-colwidth="190" |
 
Jetson Nano 4GBP3448-0000
 
 
 
| width="68" data-colwidth="190" |
 
For development; not for production use. Has a microSD card slot instead of eMMC memory.
 
 
 
| width="68" data-colwidth="190" |
 
jetson-nano-devkit
 
 
 
| width="68" data-colwidth="190" |
 
Flashes QSPI‑NOR and microSD card.
 
 
 
|-
 
| height="111" width="68" data-colwidth="190" |
 
Jetson Nano 4GBP3448-0002
 
 
 
| width="68" data-colwidth="190" |
 
For development or production use.
 
 
 
| width="68" data-colwidth="190" |
 
jetson-nano-emmc
 
 
 
| width="68" data-colwidth="190" |
 
Flashes QSPI-NOR and eMMC.
 
 
 
|-
 
| height="67" width="68" data-colwidth="190" |
 
Jetson AGX Xavier
 
 
 
| rowspan="4" width="68" data-colwidth="190" |
 
For development or production use.
 
 
 
| rowspan="3" width="68" data-colwidth="190" |
 
jetson-agx-xavier-devkit
 
 
 
| rowspan="3" width="68" data-colwidth="190" |
 
Flashes eMMC for P2888-0001 (16&nbsp;GB) or P2888-004 (32&nbsp;GB).
 
 
 
|-
 
| height="67" width="68" | P2888-0001 (16&nbsp;GB)
 
|-
 
| height="67" width="68" |
 
P2888-0004 (32&nbsp;GB)
 
 
 
|-
 
| height="111" width="68" data-colwidth="190" |
 
P2888-0006 (8&nbsp;GB)
 
 
 
| width="68" data-colwidth="190" |
 
jetson-agx-xavier-devkit-8gb
 
 
 
| width="68" data-colwidth="190" |
 
Flashes eMMC to P2888-006 (8&nbsp;GB).
 
 
 
|-
 
| height="44" width="68" data-colwidth="190" |
 
Jetson TX2
 
 
 
| rowspan="6" width="68" data-colwidth="190" |
 
For development or production use.
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
jetson-tx2-devkit
 
 
 
| rowspan="6" width="68" data-colwidth="190" |
 
Flashes eMMC.
 
 
 
|-
 
| height="44" width="68" |
 
P3310-1000
 
 
 
|-
 
| height="44" width="68" data-colwidth="190" |
 
Jetson TX2i
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
jetson-tx2-devkit-tx2i
 
 
 
|-
 
| height="44" width="68" |
 
P3489-0000
 
 
 
|-
 
| height="44" width="68" data-colwidth="190" |
 
Jetson TX2&nbsp;4GB
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
jetson-tx2-devkit-4GB
 
 
 
|-
 
| height="44" width="68" |
 
P3489-0080
 
 
 
|-
 
| height="178" width="68" data-colwidth="190" |
 
Jetson TX1
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
For development with Jetson TX1 or TX2 developer kit, or production use.
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
jetson-tx1-devkit
 
 
 
| rowspan="2" width="68" data-colwidth="190" |
 
|-
 
| height="44" width="68" |
 
P2180-1000
 
 
 
|}
 

Latest revision as of 07:33, 11 December 2024

Project

AIR-020
AIR-030
EPC-R7000
EPC-R7200
EPC-R7300
AFE-R750

Reference

Miscellaneous
Boot Device
Simultaneous flashing to multiple target devices.
Device PID VID
SOC module / Jetpack version / Chip ID / target_board
nVidia : Developer Guide
elinux.org : Jetson L4T BSP_development tips
Jetson Module EEPROM Layout

OTA
nVidia : Over-the-Air Update
How to Use A/B Filesystem Redundancy and OTA with NVIDIA Jetpack
Update Jetson Linux Over-the-Air Using Allxon

Backup / Restore
eLinux:Jetson/Clone