2012-05-10 30 views
2

我下载内核源代码,编译并运行新内核。我正在对kvm内核模块进行一些更改并对其进行测试。在make mrproper之后插入内核模块

所以这是我在内核源代码中进行一些更改后所做的。

make M=arch/x86/kvm 

之后,我能够成功地插入内核模块。

错误我做了make mrproper,它清除了linux编译中的所有二进制文件和副本。

那么,现在有办法让我的内核模块只能插入当前启动的内核,或者我应该再次编译整个内核,并用/ boot中的vmlinuz文件替换新的vmlinuz。

我可以做第二个选择,但它需要时间,并不是这个小问题最聪明的方法。

+0

这已经有一段时间了,所以我可能记得没有记错(或者事情可能已经改变),但是你是否尝试过'make modules'? – Flimzy

+1

运行'make mrproper'会删除内核配置,你应该在尝试'make M = ... modules'之前尝试恢复它。 – C2H5OH

回答

0

如果内核当前正在运行,您可以尝试运行make cloneconfig。这应该像正在运行的内核一样配置内核树。

编译后的模块应该匹配你的内核。

+0

我正在使用内核源代码3.0.27,并且'make cloneconfig'返回一个错误,但没有规则使目标cloneconfig – 0xhacker

+0

可能是SuSE扩展。 –