Windows版qemuをビルドする

手順的には http://lassauge.free.fr/qemu/ に有るのが近い。ただ、特にパッチしなくても正常に動くバイナリは出来る。

MinGWをインストールする

公式サイトは解りづらいのでSFのダウンロードページを見る。https://sourceforge.net/projects/mingw/files/

  1. MinGWをインストールする (MinGW-5.1.4.exe) - makeはインストールしない(MSYSに有る)
  2. MSYSをインストールする (MSYS-1.0.11.exe)
  3. MinGWのgcc4.4のファイルを上書きする (gcc-full-4.4.0-mingw32-bin-2.tar.lzma)

依存関係をインストールする

実際にはSDLは無くてもVNC経由で操作できる。

configure

qemuのconfigureはgnu autotoolsで無いので、幾つかの一般的なオプションを受け入れない。

  1. 適当なビルドディレクトリを準備してcdする
  2. sdl-configを適当に編集してビルドディレクトリに置く
  3. configure && make && make install

CCにフラグごと指示してしまうのが早い。

../configure --cc="gcc -I/PATH/TO/INCLUDE/DIR -L/PATH/TO/LIBRARY/DIR" --disable-kqemu --prefix="c:/qemuroot" --target-list=i386-softmmu

qemuのtestターゲットはLinuxでなければ実行できない。

その他のツール

TAP-WIN32を入手するためにOpenVPNを入れる。OpenVPNのプログラムメニューからadd a new TAP-Win32を選んで仮想NICを作り、適当な名前にリネームする。QEMULANのような1byte文字が望ましい。
付けた名前をTAPデバイスの名前として利用できる。qemu -net tap,ifname=QEMULANのように指定でき、正常にqemuから認識されれば、TAPデバイスEthernetケーブルが接続されたように見える。
また、TAPデバイスには"ゲストOSから見た、ホストOSのIPアドレス"を予め設定しておくのが好ましい(ゲストOSのIPアドレスでないことに注意)。もちろん、普通のEthernetバイスのようにブリッジしたり、インターネット接続の共有を行うことも出来る。