假设我们安装内核2.6.32.el6,然后我们下载2.6.32.el6.src.rpm,我们可以只安装源代码并修改一些模块,然后使用make -C 2.6.32.el6 .src.source.directry -M $ PWD在模块目录下编译模块,然后我们复制到/lib/modules/2.6.32.el6/kernel/moduledirectory并且新模块可以工作吗?
我尝试修改kvm模块并编译它,但是当我重新编译模块并将其复制到目录中时,机器在启动时说:
kvm:没有module_layout的符号版本 kvm_intel:没有module_layout的符号版本
任何人都知道出了什么问题?
答案 0 :(得分:1)
可能linux内核2.6.32.el6已经用modversions编译但你的模块是在没有它的情况下编译的。检查是否在内核配置文件中选择或取消选择了CONFIG_MODVERSIONS。将它与/ proc / .config文件进行比较,后者是内核配置文件 - 当然,如果你有它。
换句话说 - 可能你的linux内核要求模块支持版本控制,但你的模块不提供它。