Linux kernel 找到正确的内核版本以构建模块

Linux kernel 找到正确的内核版本以构建模块,linux-kernel,kernel,Linux Kernel,Kernel,我想签出内核源代码来构建内核模块。但是,当我想insmod模块时,我会得到一个“模块格式无效”错误。内核版本明显不匹配。 uname-r生成版本3.0.35-gd0fc8d0。 我使用的是I.Mx6处理器,必须从这里签出分支: 但是我似乎找不到精确匹配的内核版本?您需要针对特定的内核版本构建一个内核模块,以便它们彼此兼容 您应该能够知道使用modinfo命令构建模块的内核版本 #modinfo kernel_mod.ko 请看这里的vermagic字段。如果您很忙,可以尝试更改内核模块的verm

我想签出内核源代码来构建内核模块。但是,当我想
insmod
模块时,我会得到一个“模块格式无效”错误。内核版本明显不匹配。
uname-r
生成版本
3.0.35-gd0fc8d0
。 我使用的是I.Mx6处理器,必须从这里签出分支:


但是我似乎找不到精确匹配的内核版本?

您需要针对特定的内核版本构建一个内核模块,以便它们彼此兼容

您应该能够知道使用modinfo命令构建模块的内核版本

#modinfo kernel_mod.ko


请看这里的vermagic字段。

如果您很忙,可以尝试更改内核模块的vermagic以插入模块

参考: 或 只需谷歌,“改变内核模块的魔力”


顺便说一下,您应该记住,这种方法可能会导致问题。

谢谢!这给了我
3.0.35-gb0b02db-dirty SMP preempt mod_unload mod versions ARMv7
gb0b02db从何而来?我需要
gd0fc8d0
您可以尝试force insmod:like insmod-f mod.ko如果force insmod不工作,您可能需要重建并安装内核。基本上,您需要在构建内核时禁用CONFIG_MODVERSIONS。