Skip to content

QEMUをビルドする方法

公式情報としては以下に各種OSごとでまとまっている中でビルドするための情報もある。

上記の記事によると、ビルドのために bisonflex などのビルドツールと各種ライブラリをインストールする必要があるけれど、環境を汚したくない場合は次のような Dockerfile を書いても良い。記述の際にはDockerfileベストプラクティス2024も参考になるだろう。

# syntax=docker/dockerfile:1
FROM archlinux:base-devel
RUN pacman -Sy && \
pacman -S --noconfirm --asdep pipewire-jack && \
pacman -S --noconfirm qemu-desktop flex bison ninja

環境ができたら make でビルドする。全てのアーキテクチャをビルドすると長いので x86_64 だけに限定する場合は —target-list= で指定する。

Terminal window
git clone
mkdir build
cd build
../configure --target-list=x86_64-softmmu --prefix=/usr
make -j8

ここで —prefix=/usr を与えているのは

Terminal window
$ qemu-system-x86_64
qemu: could not load PC BIOS 'bios-256k.bin'

のようなエラーで失敗することを防ぐためだったが、どうやら実行ファイルの場所から探索しているようで効果はなかった。Archのパッケージでは bios-256k.bin/usr/share/qemu 以下に存在しているので、コマンドのオプションでそこを参照すればいい。

Terminal window
qemu-system-x86_64 -L /usr/share/qemu

—prefix= の他にも —sysconfdir=/etc—localstatedir=/var も設定できるが、これらはデフォルトでArchパッケージと同じ場所を参照するため指定する必要はない。