Jetson 36.2 RT Kernel Installation not detecting USBs

Hi,

I tried to install Jetson 36.2 RT Kernel, and it seems to be well installed until i reach the ubuntu login, doesn’t work neither the keyboard nor the mouse.
The keyboard works because at boot menu i can access boot manager and setup.


But at ubuntu login doesn’t work:

I compiled kernel and modules using Driver Package (BSP) Sources and Sample Root Filesystem. And followed Kernel Customization — NVIDIA Jetson Linux Developer Guide 1 documentation steps.

And for installation:

Are USB devices detected in dmesg when you log in via serial console?
List every steps you did for kernel compilation/installation.

hey, i put down the steps that i followed tell me if u see something. This week I do not have physical access to the board, when I have it I will do the dmesg with the serial console

  1. Download sources to get kernel source code
  • The way to do it with git does not work  the servers are usually down.

https://docs.nvidia.com/jetson/archives/r36.2/DeveloperGuide/SD/Kernel/KernelCustomization.html#to-manually-download-and-expand-the-kernel-sources
to. Jetson Linux Archive | NVIDIA Developer.
b. Download Driver Package (BSP) Sources

  1. Unzip source code and rootfs
    c. Extract the .tbz2 file:
    $ tar xf public_sources.tbz2 -C /Linux_for_Tegra/…
    d. Extract the kernel and the NVIDIA out-of-tree modules source files:
    $ cd /Linux_for_Tegra/source
    $ tar xf kernel_src.tbz2
    $ tar xf kernel_oot_modules_src.tbz2
    $ tar xf nvidia_kernel_display_driver_source.tbz2
    This extracts the kernel source to the kernel/ subdirectory, and the NVIDIA out-of-tree kernel modules sources to the current directory.
  2. Activate RT
  • $./generic_rt_build.sh “enable”
  1. Compile kernel
  • cd /Linux_for_Tegra/source
  • ./generic_rt_build.sh “enable”
  • make -C kernel
  • export INSTALL_MOD_PATH=/Linux_for_Tegra/rootfs/
    o If the rootfs folder does not exist, create it
  • sudo -E make install -C kernel
  • cp kernel/kernel-jammy-src/arch/arm64/boot/Image \ /Linux_for_Tegra/kernel/Image
    o If the kernel folder does not exist, create it
  • Possible error: fatal error: openssl/opensslv.h: No such file or directory
    o Solution: sudo apt-get install libssl-dev
  1. Compile modules
  • cd /Linux_for_Tegra/source
  • export IGNORE_PREEMPT_RT_PRESENCE=1
  • export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src
  • make modules
  • sudo -E make modules_install
  1. INSTALLATION (CRITICAL STEP)
  • Replace Linux_for_Tegra/kernel/Image for /boot/Image
  • Replace Linux_for_Tegra/rootfs/lib/modules/$(uname -r) for /lib/modules/$(uname -r)

This installs the in-tree kernel modules.

This install the OOT kernel modules.

So this one is not required. Actually I don’t even know what exactly you did here.
There is no single folder called /lib/modules/ in the kernel source tree even after compilation.

I only followed this steps:

Do you think is the reason that doesnt detect keyboard and mouse?

Answer me here.

Anyway, if you just cannot get it done, JetPack 6 GA comes with pre-built RT kernel as Debian packages, and you don’t have to build it yourself.

Oh okay! but JetPack 6 GA it’s not released yet, right?

Scheduled in early May.

1 Like

I’m trying again the installation but without replacing /lib/modules. To be sure:

  1. With Jetson 6 DP installation is necessary to cp the image to /boot/Image?
  2. If i’m compiling kernel natively, the var is INSTALL_MOD_PATH=/Linux_for_Tegra/rootfs/ or INSTALL_MOD_PATH=/ ??

Answer to both your questions are YES.

To second question YES means that INSTALL_MOD_PATH is Linux_for_tegra/rootfs/ or / ???

Of course it’s /.
Also, it’s better you name the new kernel image differently, and specify it in extlinux.conf.
So if it fails to load, you still have the stock kernel which should work properly.

Okay, now the instalation worked :) Thanks.

1 Like

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