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 のシンボル バージョンがありません

誰が何が悪いのか知っていますか?

4

1 に答える 1

1

おそらく、Linux カーネル 2.6.32.el6 は modversions でコンパイルされていますが、モジュールは modversions なしでコンパイルされています。カーネル構成ファイルで CONFIG_MODVERSIONS が選択または選択解除されているかどうかを確認してください。カーネル構成ファイルである /proc/.config ファイルと比較してください-もちろん、持っている場合。

言い換えれば、おそらくあなたの Linux カーネルはモジュールがバージョニングをサポートすることを要求していますが、あなたのモジュールはそれを提供していません。

于 2013-08-29T05:46:38.747 に答える