Jetson real-time

I am flashing real-time kernel on Jetson Orin NX 16g, but using official OTA to flash real-time patches, the real-time effect is very poor, consistent with the effect of regular kernel.

And I am also trying the official second method, which is to merge real-time kernel patches during the kernel compilation stage, but still cannot succeed. After using the flashing script, I get stuck in the middle:
Step 3: Start the flashing process, Then repeat Waiting for target to boot up… Timeout until it fails.

May I ask how to flash the real-time kernel.
Or, where can I obtain real-time images of jetpack 6.0 or higher,
I heard that SDK manager can flash real-time kernel, but I can’t find the corresponding method.

problem:
After I use
jetson@yahboom:~$ sudo apt install nvidia-l4t-rt-kernel

Add /lib/modules/5.15.148-tegra/kernel/drivers/usb/typec/typec.ko
nv-update-initrd: Updating /boot/initrd from /etc/nv-update-initrd/list.d for ke
rnel version 5.15.148-rt-tegra..
Add /usr/sbin/nvluks-srv-app
Error: /lib/modules/5.15.148-rt-tegra/updates/drivers/net/ethernet/nvidia/nvethe
rnet/nvethernet.ko not found
Cleaning up the temporary directory for updating the initrd..
dpkg: error processing package nvidia-l4t-initrd (–configure):
installed nvidia-l4t-initrd package post-installation script subprocess returne
d error exit status 1
Errors were encountered while processing:
nvidia-l4t-rt-kernel
nvidia-l4t-initrd
E: Sub-process /usr/bin/dpkg returned an error code (1)

sudo vi /var/lib/dpkg/info/nvidia-l4t-rt-kernel.postinst

将这一部分

if [ "${rootfs_ab}" = "1" ]; then
    echo "Rootfs AB is not enabled."
    # Update current kernel slot A and kernel-dtb slot A.
    install_kernel_on_rootfs_id "0"

修改为

if [ "${rootfs_ab}" = "1" ]; then
    echo "Rootfs AB is not enabled. Using non-AB kernel update procedure."
    
    # 为非AB系统添加替代逻辑
    if [ "${chipid}" = "0x23" ]; then
        # 针对Tegra234 (Orin) 的非AB系统更新逻辑
        echo "INFO: Updating extlinux.conf for non-AB system..."
        nv-update-extlinux "${extlinux_config}" "${updated_kernel_params[@]}"
        
        # 手动更新initrd
        echo "INFO: Updating initrd for non-AB system..."
        nv-update-initrd
        
        echo "INFO: Non-AB kernel update completed."
        return 0  # 成功返回
    else
        echo "ERROR. Non-AB system not supported for chip ID: ${chipid}."
        exit 1
    fi

与此同时,我按照这个链接进行了一些操作,
但不知道有没有必要性:

Hi,
You would need to manually build RT kernel and re-flash the system image. Please refer to

Kernel Customization — NVIDIA Jetson Linux Developer Guide

Here is an example:

Jetson/L4T/r36.4.x patches - eLinux.org
Enable RT kernel and CONFIG_HZ_1000

1 Like

Thank you for your response. I have successfully flashed the real-time kernel using the method of compiling the kernel according to the official website manual.
But it also introduced a new issue, which I used in the Jetson Orin NX 16g version

sudo apt install rt-tests

Installed testing tools and used

sudo cyclictest -t 8 -D 1h --policy=fifo

Command, conduct testing.

From the test results, it can be seen that the real-time kernel is different from the regular kernel (or primary kernel?)? )The effect is exactly the same.
Does it not reflect real-time performance? What settings should I make?

Hi,
Please refer to
The real-time performance of Jetson Orin NX 16g is the same as that of a primary kernel - #3 by DaneLLL

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