R36.2 real time kernel on Orin Nx: rootfs mount fail

Hello,
Using sdk jetson linux r36.2.0, I am trying to enable the real time kernel but kernel is not able to mount rootfs, I get this error.
[ 13.437989] ERROR: PARTUUID=… mount fail…

I might be missing something … here is what I do:

#--- sdk and rootfs ---
export L4T_RELEASE_PACKAGE=jetson_linux_r36.2.0_aarch64.tbz2
export SAMPLE_FS_PACKAGE=tegra_linux_sample-root-filesystem_r36.2.0_aarch64.tbz2
cd ~/nvidia
tar xf ${L4T_RELEASE_PACKAGE}
sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra/
sudo ./apply_binaries.sh
sudo ./tools/l4t_flash_prerequisites.sh

#--- kernel build ---
cd source
./source_sync.sh -k -t jetson_36.2
./generic_rt_build.sh "enable"
export CROSS_COMPILE=~/l4t-gcc/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
make -C kernel
export INSTALL_MOD_PATH=~/nvidia/Linux_for_Tegra/rootfs/
sudo -E make install -C kernel
cp kernel/kernel-jammy-src/arch/arm64/boot/Image ~/nvidia/Linux_for_Tegra/kernel/Image

#--- oot modules ---
export IGNORE_PREEMPT_RT_PRESENCE=1
export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src
make modules
sudo -E make modules_install

#--- dtb ---
make dtbs
cp nvidia-oot/device-tree/platform/generic-dts/dtbs/* ~/nvidia/Linux_for_Tegra/kernel/dtb/

#--- flash ---
cd ..
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
  -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
  --showlogs --network usb0 jetson-orin-nano-devkit internal

when the Orin Nx reboots, I see this error:

[   13.437989] ERROR: PARTUUID=44b3fd08-5537-46ab-b1d6-5a61939a9ecc mount fail...

Any idea ?
thanks,
Marc
real_time_kernel_booting.txt (23.3 KB)
real_time_kernel_flashing.txt (276.7 KB)

Hi,

Please refer to this post:

It’s a known bug in 36.2, and the fix will be present in the next release.
I can add some more details if you cannot understand it.

Thanks DaveYYY for the link.

I gave it a try and it is not mounting the rootfs.
Here is what I did:

# --- real time kernel initrd fixes --- (no success)
mkdir ~/nvidia/initrd_patch/ && cd ~/nvidia/initrd_patch 
zcat ~/nvidia/Linux_for_Tegra.real_time_kernel_forum_nvidia/rootfs/boot/initrd | cpio -idmv
cp -r ~/nvidia/Linux_for_Tegra.real_time_kernel_forum_nvidia/rootfs/lib/modules/5.15.122-rt-tegra/ lib/modules/
find lib/modules/5.15.122-rt-tegra/ -iname '*.ko' | xargs ~/l4t-gcc/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-strip --strip-unneeded

# recompress
find . | cpio -o -c -R root:root | gzip -9 > ../new.initrd
sudo cp ../new.initrd ~/nvidia/Linux_for_Tegra.real_time_kernel_forum_nvidia/rootfs/boot/initrd

# flash
cd ~/nvidia/Linux_for_Tegra.real_time_kernel_forum_nvidia/
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
  -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
  --showlogs --network usb0 jetson-orin-nano-devkit internal
[initrd_serial_boot.txt|attachment](upload://9WKqBuK5kdWoRwVNdSzmWxOwxT.txt) (23.5 KB)

with serial console

[    2.624063] Waiting for root device PARTUUID=44b3fd08-5537-46ab-b1d6-5a61939a9ecc...
[    2.906744] usb 1-2: new high-speed USB device number 2 using tegra-xusb
[    3.061352] hub 1-2:1.0: USB hub found
[    3.061810] hub 1-2:1.0: 5 ports detected
[    3.187182] usb 2-1: new SuperSpeed Plus Gen 2x1 USB device number 2 using tegra-xusb
[    3.214026] hub 2-1:1.0: USB hub found
[    3.214930] hub 2-1:1.0: 4 ports detected
[    3.746748] usb 1-2.5: new high-speed USB device number 3 using tegra-xusb

I think the next release, with a fix for this is going to be soon? I might wait for this !
initrd_serial_boot.txt (23.5 KB)

Make sure you are using the right command as instructed on the document regarding compressing/decompressing cpio archives.
If it still does not work for you, wait for the JetPack 6 GA in March with our official fix.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.