Linux BSP User Guide for jetson series
Contents
- 1 Linux BSP Version
- 2 Released Image
- 3 Build Environment on Host
- 4 Run Docker example
- 5 Install Some tools
- 6 Getting Linux Source Code
- 7 Build Image - EPC-R7200
- 8 Build Image - AIR-020
- 9 Build Kernel - EPC-R7200
- 10 Build Kernel - AIR-020
- 11 Enter Download Mode
- 12 Flash Image
- 13 Flash DTB
- 14 Flash Mac Address
- 15 Reference
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
Install Some tools
$sudo apt-get install expect
Getting Linux Source Code
$ export GIT_SSL_NO_VERIFY=1
EPC-R7200
$ 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://AIM-Linux@dev.azure.com/AIM-Linux/EPC-R7200/_git/manifests $ ../repo/repo sync
AIR-020
$ 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://AIM-Linux@dev.azure.com/AIM-Linux/AIR-020/_git/manifests $ ../repo/repo sync
Build Image - EPC-R7200
Build Release Image
sudo ./scripts/build_release.sh -s <SOC> -v <VERSION>
Build OTA
sudo ./scripts/build_ota.sh -s <SOC> -v <VERSION>
Build Factory Image
sudo ./scripts/build_release_factory_test.sh -s <SOC> -v <VERSION> Where "-v : Image version" 00001~99999 "-s : 186 - Jetson TX2 NX" " : 194 - Jetson Xavier NX" " : 210 - Jetson Nano"
Build Image - AIR-020
TX2 NX
$ cd $TOP $ sudo ./scripts/build.sh -s 186
Xavier NX
$ cd $TOP $ sudo ./scripts/build.sh -s 194
Nano
$ cd $TOP $ sudo ./scripts/build.sh -s 210
Build Kernel - EPC-R7200
sudo ./scripts/build_ota.sh -s <SOC> -v <VERSION>
Build Kernel - AIR-020
Xavier NX / TX2 NX
$ cd $TOP $ sudo ./scripts/build_kernel.sh -s 186
Nano
$ cd $TOP $ sudo ./scripts/build_kernel.sh -s 210
Enter Download Mode
Press follow button + power ON, or
EPC-R7200 | AIR020 |
![]() |
![]() |
Enter following command in the device,
$ sudo reboot --force forced-recovery
Flash Image
Before flashing the image, power off the DUT, press recovery button and power on.
|
EPC-R7200 |
AIR-020 |
---|---|---|
Xavier NX |
$ cd $TOP/Linux_for_Tegra/186/ |
$ 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 -d ./kernel/dtb/tegra186-epcr7200.dtb jetson-xavier-nx-devkit-tx2-nx mmcblk0p1 or $ sudo ./flash.sh jetson-xavier-nx-devkit-tx2-nx mmcblk0p1 |
$ cd $TOP/Linux_for_Tegra/186/ $ sudo ./flash.sh jetson-xavier-nx-devkit-tx2-nx mmcblk0p1 |
Nano |
$ cd $TOP/Linux_for_Tegra/210/ |
$ cd $TOP/Linux_for_Tegra/210/ $ sudo ./flash.sh jetson-nano-devkit-emmc mmcblk0p1 |
Flash DTB
|
EPC-R7200 |
AIR-020 |
---|---|---|
Xavier NX |
$ cd $TOP/Linux_for_Tegra/186/ $ sudo ./flash.sh -r -k kernel-dtb xavier-nx-epcr7200 mmcblk0p1 |
$ 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 tx2-nx-epcr7200 mmcblk0p1 |
$ 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 DTB nano-epcr7200 mmcblk0p1 |
$ cd $TOP/Linux_for_Tegra/210/ $ sudo ./flash.sh -r -k kernel-dtb jetson-nano-devkit-emmc mmcblk0p1 |
Flash Mac Address
GBE in eeprom
$ sudo ./eeprom $SOC $mac_address
Where SOC
186 : TX2-NX 194 : XavierNX 210 : Nano
Intel I210
$ sudo -s $ BDF=`lspci | grep 210 | awk '{print $1}'` $ setpci -s $BDF COMMAND=0007
Get NIC
$./EepromAccessTool
Flash I210 address with mac_address = D4E5F6123456 ( If mac address = D4:E5:F6:12:34:56 )
$ ./EepromAccessTool -nic=<NIC> -f=Dev_Start_I210_Copper_NOMNG_8Mb_A2_3.25_0.03.hex -mac=$mac_address
Cold reboot the device.
Reference
Device PID VID
Open a terminal window on your host and enter the command lsusb.
The Jetson module is in Force Recovery mode if you see this message:
Bus <bbb> Device <ddd>: ID 0955: <nnnn> Nvidia Corp.
Where:
•<bbb> is any three-digit number
•<ddd> is any three-digit number
•<nnnn> is a four-digit number that represents the type of Jetson module: