QEMUのアクセラレータモジュールkqemuのインストール

CentOS5にインストール。

wget http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz
tar xvzf kqemu-1.3.0pre11.tar.gz
cd kqemu-1.3.0
make
make install
modprobe kqemu
chmod 666 /dev/kqemu


makeでこける時はカーネルソースが準備できていない。
そんな時は下のようにする。

#/usr/src/linux-xxxにカーネルのソースが置いてある前提
#なえれば kernel-source-xxx パッケージをインストール
cd /usr/src/linux-xxx
make distclean
#vvvはuname -a でもして調べるべし
cp /boot/config-vvv /usr/src/linux.config
#MakefileのEXTRAVERSIONを自分のカーネルのバージョンに合わせる
#2.6.18だったら18
vi /usr/src/Makefile
EXTRAVERSION = 18
make menuconfig
make dep bzImage

でもう一度ビルド。


前にVirtual Multiprocessor(http://www.yl.is.s.u-tokyo.ac.jp/~kaneda/dvm/index-ja.html)をビルドしようとして失敗したことがあった*1。その時はカーネルのバージョンの問題だと考えたのだけど、もしかしたら、その時もカーネルソースがちゃんと準備できていなかったのが原因かもしれない。今度また試してみる。


#追記
Virtual Multiprocessorのビルドについてはもう一度試しても駄目でした


ついでなのでダーティーハックをメモしとく

diff -r ./vmm/mon/hard_drive.c ../../virtual_multiprocessor1/vmm/mon/hard_drive.c
3a4
> #define __KERNEL__


diff -r ./vmm/mon/Makefile ../../virtual_multiprocessor1/vmm/mon/Makefile
64c64< CC = gcc

    • -

> CC = gcc -I/usr/src/kernels/2.6.18-8.el5-i686/include

*1:ダーティーハックでどうにかコンパイルは通した。でも結局うまく動かず。