insmod:模块格式无效 - 如何验证版本不兼容或强制?

insmod:模块格式无效 - 如何验证版本不兼容或强制?

我正在运行一个自定义构建的内核(4.8.15-rt10),并获得了一个在完全相同的内核上构建的模块,具有相同的 .config(我提供了所有内容)。当我使用 insmod 插入模块时,出现错误“无效的模块格式”。所以第一个倾向是错误的内核版本,以下是 modinfo 与以下结果的比较uname -a

uname -a ==> 4.8.15-rt10 #5 SMP PREEMPT RT Mon Oct 23 10:57:27 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
modinfo ==> vermagic: 4.8.15-rt10 SMP preempt mod_unload

据我所知,它是相同的内核,那么我错过了什么?我在某处读到我可以使用 modprobe --force 来强制它,但不知何故我需要先使用 depmod ?

谢谢


输出:

user@user:/usr/src/linux-4.8.15-rt10$ cat .config | grep 'CONFIG_PREEMPT'
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_PREEMPT_LAZY=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT__LL is not set
# CONFIG_PREEMPT_RTB is not set
CONFIG_PREEMPT_RT_FULL=y
CONFIG_PREEMPT_COUNT=y
# CONFIG_PREEMPT_TRACER is not set

相关内容