Nvidia Jetson GPU Ai/ML Notes¶
Jetson Release Archives¶
- https://repo.download.nvidia.com/jetson/
Jetson Jetpack Developer Guide¶
- https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/
- https://www.thegoodpenguin.co.uk/blog/diving-into-the-nvidia-jetson-nano-boot-process/
- https://elinux.org/Jetson/Nano/Upstream
PXE Booting¶
- https://forums.developer.nvidia.com/t/pxe-installation-of-jetsons/279247
- https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/FlashingSupport.html?highlight=cpio#configuring-a-pxe-boot-server-for-uefi-bootloader-on-jetson
- https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/AR/BootArchitecture/JetsonOrinSeriesBootFlow.html
- https://docs.turingpi.com/docs/orin-nxnano-flashing-os
- https://forums.developer.nvidia.com/t/network-boot/72354/8
Flashing Local¶
- https://jetsonhacks.com/2023/05/30/jetson-orin-nano-tutorial-ssd-install-boot-and-jetpack-setup/
- https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/FlashingSupport.html#using-flash-sh-with-orin-nx-and-nano
- https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/FlashingSupport.html#using-initrd-flash-with-orin-nx-and-nano
- https://elinux.org/Jetson/Nano/Upstream
- https://jetsonhacks.com/2023/05/30/jetson-orin-nano-tutorial-ssd-install-boot-and-jetpack-setup/
- https://framagit.org/compile-farm/gccfarm
- https://portal.cfarm.net/machines/list/
Using External Storage¶
- https://github.com/jetsonhacks/bootFromExternalStorage.git
- https://github.com/NVIDIA/edk2-nvidia/wiki
Turing Pi 2 Cluster Board¶
This occasionally useful little bastard can apparently host Jetson nodes along with other supported SO-DIMM socket SoC compute modules.
API Calls¶
A simple example:
node1 power state == "https://localhost/api/bmc?opt=get&type=power" | jq '.[].[].result.[] | map(. | select([]))[0]'""
Flashing Service Laptop¶
Debian Dependencies¶
apt install -y qemu-user-static nano ssh
Flashing to Jetson Without Reading EEPROM¶
The following text is taken from the Jetson Developer Guide doc.
- https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/FlashingSupport.html#flashing-to-jetson-without-reading-eeprom
Sometimes when you update the “customer over-writable” section of the EEPROM, a mistake can be made where the CRC-8 is no longer correct. In this case, you might have issues being able to flash and boot the system.
To skip the EEPROM read during flashing, run the following command:
$ sudo SKIP_EEPROM_CHECK=1 BOARDID=<BOARDID> BOARDSKU=<BOARDSKU> ./flash.sh <board> <rootdev>
For the BOARDID and BOARDSKU values, refer to “Devices Supported By This Document” and “Flashing with initrd” for more information.
After the board is flashed and boots up, to correct the EEPROM content, complete the following steps:
- Use the Linux i2c-tools to correct corrupted EEPROM content.
- Dump the complete EEPROM content with i2c-tools.
- Calculate the CRC8 value based on the result from step 2.
- Write the CRC8 value to byte 255 in EEPROM.
Module Info¶
We’re presently working with the Orin NX 16GB and Xavier NX 16GB.
Orin NX 16GB Module Data¶
boardid=3767
fab=000
boardsku=0000
chipsku=00:00:00:D3
board=jetson-orin-nano-devkit
rootdev=mmcblk0p1
bup_type=bl