Build Device Tree from Scratch (JetPack 4.6 on NRU-50)

A. Prepare Device Tree Building Environment

The device tree is similar to the BIOS of the x86 computer. The device tree describes the hardware components of a carrier board, which is commonly used for ARM-based Linux computers.

In a nutshell, you will build the device tree on your host machine, an x86 computer with Ubuntu, NVIDIA SDKManager, x86 to aarch64 cross-compiler installed. You can download the device tree source (.dtsi) from NVIDIA, modify, compile it, then flash the compiled result to NRU.

1. Download NVIDIA SDKManager

https://developer.nvidia.com/nvidia-sdk-managerarrow-up-right

2. Install JetPack 4.6 for Xavier NX NVIDIA SDKManager

After installation, you will see a L4T folder.

# The default L4T folder path for JetPack 4.6 of Xavier NX is 
$HOME/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra

3. Download Device Tree and Kernel Source from NVIDIA

export L4T=$HOME/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra

cd $L4T

# "tegra-l4t-r32.6.1" menas JetPack 4.6, more JetPack and L4T mapping can be found on <https://developer.nvidia.com/embedded/jetpack-archive>
./source_sync.sh -k tegra-l4t-r32.6.1

Then you will find sources under L4T . The sourecs folder includes the kernel and device tree source code from NVIDIA.

4. Download Toolchain to Compile aarch64 on x86 Computers

5. Create a Default Makefile Config

B. Create NRU-50 Device Tree from NX Dev Kit

Download NRU-50 related source code from NRU FTP.

The tar.gz includes nru50.conf and related source to compile nru50.dtb

C. Compile Device Tree

D. Flash Device Tree

Last updated