sudo apt update sudo apt upgrade --> Keep 20.04 sudo apt install make sudo apt install build-essential bc sudo apt install libncurses-dev sudo apt install flex sudo apt install bison -y sudo apt install libssl-dev sudo apt install libelf-dev sudo apt install qemu-user-static
mkdir $HOME/l4t-gcc cd $HOME/l4t-gcc cp ../Download/aarch64--glibc--stable-final.tar.gz ~/l4t-gcc/. tar xf aarch64--glibc--stable-final.tar.gz
export L4T_RELEASE_PACKAGE=Jetson_Linux_R35.4.1_aarch64.tbz2 export SAMPLE_FS_PACKAGE=Tegra_Linux_Sample-Root-Filesystem_R35.4.1_aarch64.tbz2 export BOARD=jetson-orin-nano-devkit tar xf ${L4T_RELEASE_PACKAGE} sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/ tar xf public_sources.tbz2 --> decompress the file to Linux_for_Tegra/source/public cd Linux_for_Tegra/ sudo ./apply_binaries.sh sudo ./tools/l4t_flash_prerequisites.sh cd source/public tar -xjf kernel_src.tbz2
tar xf Jetson_Linux_R35.4.1_aarch64.tbz2 sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_R35.4.1_aarch64.tbz2 -C Linux_for_Tegra/rootfs/ cd Linux_for_Tegra/ sudo ./apply_binaries.sh sudo ./tools/l4t_flash_prerequisites.sh --> Installing the Flash Requirements cd source/public tar –xjf kernel_src.tbz2
1. Put the target device into Force Recovery Mode.
A. Power on the carrier board and hold down the RECOVERY button. B. Press the RESET button.
2. Using Standard flash
sudo ./flash.sh jetson-orin-nano-devkit-nvme internal
3. Jetson Orin Nano Developer Kit (NVMe):
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \ -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \ --showlogs --network usb0 jetson-orin-nano-devkit internal
4. Jetson Orin Nano Developer Kit (USB):
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 \ -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \ --showlogs --network usb0 jetson-orin-nano-devkit internal
5. Jetson Orin Nano Developer Kit (SD card):
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device mmcblk1p1 \ -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \ --showlogs --network usb0 jetson-orin-nano-devkit internalls
export CROSS_COMPILE_AARCH64_PATH=$HOME/l4t-gcc/ export CROSS_COMPILE_AARCH64=$HOME/l4t-gcc/bin/aarch64-buildroot-linux-gnu- cd ~/workspace/NX/Linux_for_Tegra/source/public mkdir kernel_out ./nvbuild.sh -o $PWD/kernel_out
~/workspace/NX/Linux_for_Tegra/source/public/kernel/kernel-5.10 make menuconfig
sudo apt update sudo apt upgrade sudo apt install open-vm-tools-desktop -y sudo reboot
/home/ubuntu/workspace/DEV2715/Linux_for_Tegra/bootloader/t186ref/cfg/flash_t234_qspi_nvme.xml
After you compiled your kernel, please update below files!
source/public/kernel_out/drivers/gpu/nvgpu/nvgpu.ko --> Linux_for_Tegra/rootfs/usr/lib/modules/$(uname -r)/kernel/drivers/gpu/nvgpu/nvgpu.ko source/public/kernel_out/arch/arm64/boot/dts/nvidia/ --> Linux_for_Tegra/kernel/dtb/ source/public/kernel_out/arch/arm64/boot/Image --> Linux_for_Tegra/kernel/Image
cat /proc/device-tree/nvidia,dtsfilename
sudo ./flash.sh -r -k DTB jetson-nano-qspi-sd mmcblk0p1
/home/ubuntu/workspace/DEV2715/Linux_for_Tegra/source/public/kernel/kernel-5.10/Documentation/devicetree/bindings
/home/ubuntu/workspace/DEV2715/Linux_for_Tegra/bootloader/t186ref/cfg/flash_t234_qspi_nvme.xml
(1) dts to dtb ./dtc -I dts -O dtb -o output_name.dtb input_name.dts (2) dtb to dts ./dtc -I dtb -O dts -o output_name.dts input_name.dtb
sudo ./flash.sh internal bootloader/l4t-rootfs-uuid.txt sudo ./flash.sh external bootloader/l4t-rootfs-uuid.txt_ext