insmod自定义模块失败并显示消息:不同意符号的版本

时间:2017-10-19 01:24:33

标签: kernel version insmod

我想为自己制作一个netfilter conntrack模块。所以我将所有关于netfilter conntrack的源代码从内核源代码树复制到我的外部目录。编译后可以是insmod。然后我将一些成员添加到struct nf_conn中,并且它已成功编译。但是,它不能是insmod。系统给我的信息“不同意符号的版本......”。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

只需将文件Module.symvers从修改后的conntrack模块目录复制到当前的开发模块即可。对于相同的函数名称,将使用它而不是内核源代码树提供的函数名称。

或者修改Makefile: obj-y:= new_conntrack / caller /

它将使用来自new_conntrack /的新CRC值。 https://www.kernel.org/doc/Documentation/kbuild/modules.txt