]
トップ «前の日記(2008-10-09) 最新 次の日記(2008-10-14)» 編集

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2008-10-10 [長年日記]

_ qemu と kvm

Debian というか Linux で、他アーキテクチャのエミュレーションが、ちょっと必要ができそうなんで、軽く下調べ。

qemuは、他アーキテクチャのエミュレーションもできる。対象アーキテクチャはこんな感じ

yabuki@yelona:~$ qemu
qemu                  qemu-ppc64abi32       qemu-system-mips64el
qemu-alpha            qemu-sh4              qemu-system-mipsel
qemu-arm              qemu-sh4eb            qemu-system-ppc
qemu-armeb            qemu-sparc            qemu-system-ppc64
qemu-cris             qemu-sparc32plus      qemu-system-ppcemb
qemu-i386             qemu-sparc64          qemu-system-sh4
qemu-img              qemu-system-arm       qemu-system-sh4eb
qemu-m68k             qemu-system-cris      qemu-system-sparc
qemu-mips             qemu-system-i386      qemu-system-x86_64
qemu-mipsel           qemu-system-m68k      qemu-x86_64
qemu-ppc              qemu-system-mips      
qemu-ppc64            qemu-system-mips64    

lenny の d-i を x86 以外で動かしてみるのもおもしろいかもしれない。

kvm

qemu をやるなら、 kvm もと、色気を出した。しかし、思うところまでは道半ばなのでメモっておく。

私の手元のマシンは、Lenovo X200 なので、kvm-intel.ko が読み込まれていないといけない。

自分でカーネルコンパイルして運用してしまっているので、kvm-sourceパッケージを導入して

make-kpkg --initrd kernel-image modules-image
をしてモジュールをそろえておく。

ここで気がつくのが遅れましたが、BIOSでvirtualzationとVT-dを有効にしたら、いったん power を off にしてから立ち上げることをしましょう。そうすると、

yabuki@yelona:~$ lsmod | grep kvm
kvm_intel              33956  0 
kvm                   117800  1 kvm_intel
と読み込んでくれます。BIOSで仮想化を有効にしておかないと、起動時に kvm_intel が load できてなかったり、modprobe しても失敗するなどしていたような気がします。

yabuki@yelona:~$ ls -la /dev/kvm 
crw-rw---- 1 root kvm 10, 232 2008-10-10 09:02 /dev/kvm

なので、自分もkvmグループに入っておく必要があります。

$sudo adduser yabuki kvm
あたりでしょうか。逆は、
$sudo deluser yabuki kvm
です。脱線しますが、vigrなどでグループを編集すると、vigr -s でも編集しろみたいなメッセージを lenny から見るようになりました。前述の adduser/deluser の方が、一回で済むのでいいのではないでしょうか。

自分が kvm グループに入っているかどうかは、id コマンドで確認します。logout や再起動してから、

yabuki@yelona:~$ id
uid=1000(yabuki) gid=1000(yabuki) 所属グループ=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),110(netdev),113(powerdev),122(kvm),1000(yabuki)

とします。 kvm 以外は、Debian GNU/Linux Lenny が設定してくれています。

で、あとは
qemu-img create hogefuga.img 10G
してディスクイメージを作り、i386のd-iを落としてきて、kvm コマンドで実行すれば kvm が動くはずですが、私の所では qemu で動いているようです。そう判断したのは、d-iが立ち上がってくるウィンドウの上部に kvm ではなく、qemu と表示されているからです。kvmでなくqemuで立ち上がっているd-i

kvm -cdrom foo/bar/debian-testing-i386-netinst.iso hogefuga.img
とまでやって、時間切れ。またどこかでチェックしましょう。vmware 6.5はサービスを停止させているので,起動時から VT-d などの仮想化機能をを取りっぱなしにしてなかったら大丈夫と思うけど....

_ iijの山本さんの「文章の書き方」

具体的で分かりやすい。一読を勧める 。(http://d.hatena.ne.jp/kazu-yamamoto/20080924/1222224226)から、pdfを開いてみるといい。