ムノーの戦績

僕が苦しんだ事を綴っていくよ

qemuを触った話

qemuで起こったトラブルを自分用にメモ

 

 

  • qemuを入れた時のSDLが有効になってなかった話

 

2台目にインストールするとVNCで接続しろと出る。VNC接続でもいいけれど、1台目はSDLを利用してるのでできれば同じにしたい。

../configure | grep SDL

SDL support no

 

yesにならないので多分何らかのライブラリが足りないんだろうなあと考えググる

http://kawa0810.hateblo.jp/entry/2014/05/29/004717

 

どうやら libsdl1.2-devが必要らしい。

 

1台目

root@munou:/home/munou/qemu/build# ../configure | grep SDL

SDL support yes

root@munou:/home/munou/qemu/build# dpkg -l | grep sdl

ii libsdl1.2-dev 1.2.15-10+b1 amd64 Simple DirectMedia Layer development files

ii libsdl1.2debian:amd64 1.2.15-10+b1 amd64 Simple DirectMedia Layer

 

 2台目

root@munou2:/home/munou/qemu# ./configure | grep SDL

SDL support no

root@munou2:/home/munou/qemu# dpkg -l | grep sdl

ii libsdl1.2debian:amd64 1.2.15-10+b1 amd64 Simple DirectMedia Layer

 

 

ということでapt install する

root@munou2:/home/munou/qemu/build# ../configure | grep SDL

SDL support yes

 

やったぜ。

 

  • qemuでpostcopyをしたかった話

 

 これを読む。

http://wiki.qemu.org/Features/PostCopyLiveMigration

 

migrate_set_capability postcopy-ram on をしてから普通にmigrationをすればpostcopyになるんだろうなと思った。

 

移送元

root@munou:/home/munou/qemu/build# qemu-system-x86_64 \-enable-kvm \-monitor stdio \-m 1024 \/home/qemuimage/VM-debian.qcow2

QEMU 2.6.0 monitor - type 'help' for more information

(qemu) migrate_set_capability postcopy-ram on

(qemu) migrate -d tcp:192.168.11.22:4449

(qemu) qemu-system-x86_64: socket_writev_buffer: Got err=32 for (131758/18446744073709551615)

 

 

移送先

root@munou2:~# qemu-system-x86_64 /home/qemuimage/VM-debian.qcow2 -enable-kvm -monitor stdio -m 1024 -incoming tcp:0:4449

QEMU 2.6.0 monitor - type 'help' for more information

(qemu) migrate_set_capability postcopy-ram on

(qemu) qemu-system-x86_64: postcopy_ram_supported_by_host: userfaultfd not available: Function not implemented

qemu-system-x86_64: load of migration failed: Operation not permitted

 

userfaultfd??? ってなんだ???とよく読んでみると

 

On Linux: userfaultfd in the 4.3 kernel is needed (Now supported on most architectures, tested mainly on x86, some testing on Power and aarch64, s390 support being worked on)

 

って書いてありました。今つかってるの3.16でしたね。

で、2台とも4.3.1入れてみたんですけど

root@munou:/home/munou# uname -r

4.3.1

いざやってみると

 (qemu) qemu-system-x86_64: postcopy_ram_supported_by_host: userfaultfd not available: Function not implemented

 またこれですね、

Linux/include/uapi/linux/userfaultfd.hやfs/userfaultfd.c もありますし、どういうことでしょうという気持ちです。

 

追記2016/8/26

カーネルコンフィグでUSERFAULTFDって項目許可してないだけでした・・・以上。