Linux カーネル 2.6.30.5 で kvm-88 のインストールが通らない
タイトルの通りです. make installしてみると、
$ make install WARNING: Loop detected: /lib/modules/2.6.30.1/extra/kvm.ko which needs kvm.ko again! WARNING: Module /lib/modules/2.6.30.1/extra/kvm.ko ignored, due to loop WARNING: Module /lib/modules/2.6.30.1/extra/kvm-intel.ko ignored, due to loop WARNING: Module /lib/modules/2.6.30.1/extra/kvm-amd.ko ignored, due to loop
となり、depmodに失敗します. この問題は、こちらのパッチを当てることで回避できます:
diff -Nur kvm-88.orig/kvm/kernel/external-module-compat-comm.h kvm-88/kvm/kernel/external-module-compat-comm.h --- kvm-88.orig/kvm/kernel/external-module-compat-comm.h 2009-07-17 20:47:08.000000000 -0300 +++ kvm-88/kvm/kernel/external-module-compat-comm.h 2009-07-17 20:55:21.000000000 -0300 @@ -845,7 +845,7 @@ #include <linux/tracepoint.h> -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) struct tracepoint; by http://patchwork.kernel.org/patch/36141/
どうも、kvm-88/kvm/kernel/external-module-compat-comm.h が、Linux 2.6.29 までしか対応していないようです. リリース時期を考えるとしょうがないでしょう. このファイルをpatchとして保存し、
$ patch -p1 -d 88 < patch
として、再度
$ sudo make install
とすると、depmod に成功します. なお、このパッチのライセンスはGPLになると思われます.