QEMUをビルドする方法
公式情報としては以下に各種OSごとでまとまっている中でビルドするための情報もある。
上記の記事によると、ビルドのために bison や flex などのビルドツールと各種ライブラリをインストールする必要があるけれど、環境を汚したくない場合は次のような Dockerfile を書いても良い。記述の際にはDockerfileベストプラクティス2024も参考になるだろう。
# syntax=docker/dockerfile:1
FROM archlinux:base-develRUN pacman -Sy && \ pacman -S --noconfirm --asdep pipewire-jack && \ pacman -S --noconfirm qemu-desktop flex bison ninja環境ができたら make でビルドする。全てのアーキテクチャをビルドすると長いので x86_64 だけに限定する場合は —target-list= で指定する。
git clonemkdir buildcd build../configure --target-list=x86_64-softmmu --prefix=/usrmake -j8ここで —prefix=/usr を与えているのは
$ qemu-system-x86_64qemu: could not load PC BIOS 'bios-256k.bin'のようなエラーで失敗することを防ぐためだったが、どうやら実行ファイルの場所から探索しているようで効果はなかった。Archのパッケージでは bios-256k.bin は /usr/share/qemu 以下に存在しているので、コマンドのオプションでそこを参照すればいい。
qemu-system-x86_64 -L /usr/share/qemu—prefix= の他にも —sysconfdir=/etc や —localstatedir=/var も設定できるが、これらはデフォルトでArchパッケージと同じ場所を参照するため指定する必要はない。