Module.symvers in Jetson Linux Kernel Customization (real-time)

hi
I follow the R36.4.3 kernel customization steps (real-time) to build a real-time kernel, and then copy the output Image to replace the /boot/Image.real-time on the Jetson.
kernel customization
And it is okay if I didnt make any chage to .config of kernel.
When I use menuconfig to add/remove the kernel features (new .config), the image on Jetson stuck while booting to ubuntu login screen.
From the booting log, i found " [Disagrees about version of symbol module_layout" while loading
I found while modifying the kernel features, Module.symvers (module layout) also changed.
Thus while booting on the jetson, linux header in /usr/src/ disagreed with the new built customization kernel or modules.
Do you have any advices for kernel customization for this issue?

The following snapshot is the linux headers in /usr/src of the jetson, and it is never changed.

The following snapshot is rootfs in build machine after customization built, and the header in rootfs never changed, and did not have the linux headers for -rt-tegra LOCALVERSION as well

ivan

instead of this follow the below link, where you can update RT package on the jetson device itself..

yes , understood. you mean install a real-time kernel via OTA method, right?
But I want to modify kernel config and build a new Image.real-time by myself. It possbily change the module_layout defined in Module.symvers, and then make a differences compared the value defined in /usr/src headers.
document process does not address the related steps to fix this issue

check if the steps in this link, will help

Hi,
Please also refer to

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

To enable the configs in generic_rt_build.sh

OK, you might misunderstand what I want to ask. I could modify the kernel configuration and then built the Image.
However, after I modified the configuration, new Module.sysvers auto-generated by build process is not updated to linux header in /usr/src/ of the target.
If i used the Image, it met the issue “Disagrees about version of symbol module_layout” and couldnt boot successfully.

Did you follow EXACTLY the same steps which I have posted for updating kernel config? or some other steps…

Thank you for your reply.
I think I have found the root cause of the issue. The issue “Disagrees about version of symbol module_layout” is not related to what defined in /usr/src. The root cause is that I only replaced re-built in-tree kernel module for new built. The out-of-tree modules provided by nv are not replaced and caused the disagreed module layout issue.

1 Like

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