Real-Time Kernel not fixed in 36.3 for NVME

Hi,
I followed all the topics on the RT kernel problems with NVME and the RT patch for jetpack 6, and it was mentioned that the initrd problem would be fixed in the next release (36.3). However, I see the same behavior, and I have a problem with the display.

I have the same problems on a nano developer’s kit and a custom board.
If I don’t compile using ./generic_rt_build.sh "enable" , everything is working fine.

The steps I used before modifying the initrd is all from the newest wiki.

  • Download the 36.3 BSP

  • Make a minimal rootfs with samplefs scripts

  • Get the kernel source with source_sync.sh

  • Modify defconfig to enable CONFIG_LAN743X

  • run ./generic_rt_build.sh "enable"

  • build/install kernel and oot modules

  • run ./tools/kernel_flash/l4t_initrd_flash.sh with --no-flash tag to build everything

  • unpack ./bootloader/l4t_initrd.img with unmkinitramfs

  • rename /lib/modules/5.15.136-tegra to /lib/modules/5.15.136-rt-tegra

  • copied everything from ./rootfs/lib/modules/5.15.136-rt-tegra to the extracted l4t_initrd.img

  • repacked the initrd with find . | cpio -H newc -o | gzip -9 -n > ../l4t_initrd.img

  • run l4t_initrd_flash.sh to flash the device

The device boots normally, and I can get log in the system via the debug UART. However, the display port/HDMI is not working. I see the NVIDIA logo when it’s booting, but it freezes and does not switch to console.

What am I missing to make the display working, and will this be fixed in the future?

Did you ever read the document?
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/Kernel/KernelCustomization.html#building-the-nvidia-out-of-tree-modules

To update the initramfs, run the following commands:
$ cd /Linux_for_Tegra $ sudo ./tools/l4t_update_initrd.sh
$ sudo ./tools/l4t_update_initrd.sh

I just noticed that it looks like you want to use the framebuffer console?
Then this is required:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/Kernel/DisplayConfigurationAndBringUp/OrinDisplayconfig.html?highlight=fbdev#vt-switching-support

Hi, Thank you for your answers.
Running sudo ./tools/l4t_update_initrd.sh worked and I have no more VT display issue, no need to change anything after. This is great.

I did read the documentation before searching the forum. I did not know the 36.3 doc added this initrd script to help RT kernel because nothing related to RT was mentionned, and I overlooked it because I did not go back to documentation after reading forum posts, I would’ve probably still missed it. The doc seems to indicate that all you need to do to get RT kernel is to run ./generic_rt_build.sh "enable", and I assumed make install ... would’ve run anything that is needed to properly install it.

I would suggest that Nvidia adds the script call of ./tools/l4t_update_initrd.sh in the workflow of RT kernel installation, or point out in the documentation that the script is needed if someone wants to have the RT kernel installed.

It’s not just required by RT kernel.
Anytime the kernel image is changed, or even when you do nothing other than adding a custom kernel prefix, this step is required.

1 Like