Hi @JerryChang, Yes your correct I meant meant RootFS-A/B. My steps are the following on my Ubuntu 22.04.5 LTS host machine:
Make BSP path:
export L4T=~/nvidia/nvidia_sdk/ORIN_NANO
mkdir -p $L4T
cd $L4T
Enable an execution of different multi-architecture containers by QEMU and binfmt_misc:
sudo apt-get install qemu-system
sudo apt-get install qemu-user-static
get bsp:
cd $L4T
sudo wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/jetson_linux_r36.3.0_aarch64.tbz2
Extract BSP:
tar xvf $L4T/jetson_linux_r36.3.0_aarch64.tbz2
Fix NVIDIA zstd bug. NVIDIA switched to using zstd for compressing the system image when flashing, but the sample rootfs package list has not been updated accordingly, so the image fails to be unarchived. To fix:
sed -i '/libzstd1/a zstd' $L4T/tools/samplefs/nvubuntu-jammy-basic-aarch64-packages
cat $L4T/tools/samplefs/nvubuntu-jammy-basic-aarch64-packages | grep "zstd"
you should now have zstd in the package list.
Generate the NVIDIA basic root file system of Ubuntu 22.04.4 LTS (Jammy Jellyfish):
sudo $L4T/tools/samplefs/nv_build_samplefs.sh --abi aarch64 --distro ubuntu --flavor basic --version jammy
Assemble the ROOTFS that was just generated:
sudo rm -r $L4T/rootfs/*
sudo tar xvpf $L4T/tools/samplefs/sample_fs.tbz2 -C $L4T/rootfs/
sudo $L4T/tools/l4t_flash_prerequisites.sh
sudo $L4T/apply_binaries.sh
Create user to skip OEM setup:
sudo $L4T/tools/l4t_create_default_user.sh -u user -p USER_PASSWORD -n ORIN-NANO-XXXX --accept-license
to flash:
cd $L4T
sudo ROOTFS_AB=1 ROOTFS_RETRY_COUNT_MAX=3 ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 --erase-all -c tools/kernel_flash/flash_l4t_t234_nvme_rootfs_ab.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" --showlogs --network usb0 jetson-orin-nano-devkit internal
I should note that I have also tested on the normal file system and NOT the basic root file system and I get the same error.