2013-08-29 75 views
1

比方說,我們安裝內核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

任何人都知道什麼是錯的?

回答

1

也許Linux內核2.6.32.el6已經編有MODVERSIONS但你的模塊沒有對其進行編譯。檢查你的內核配置文件中是否選擇或取消選擇CONFIG_MODVERSIONS。將它與內核配置文件/proc/.config文件進行比較 - 當然如果你有它的話。

換句話說 - 也許你的Linux內核要求的模塊支持版本,但是你的模塊不提供。