OVMFをビルドする
Dockerを使ったビルド方法とARM 64bitを追加して書き直しました
QEMUはUEFI用のファームウェアを持っていないので、UEFI環境でのブートをしたかったら別途用意しなきゃいけないのですが、Intel用のファームウェアはLinuxのパッケージマネージャーのレポジト...
今までQEMUでUEFI使うときは以下のビルド済みのOVMFをダウンロードして使ってたのですが、今回CentOS 8のKVMで使うと何故かゲストOSをブートできなかった。
https://github.com/BlankOn/ovmf-blobs
dnfでインストールできるのはSecure BootオンのCODEだけだし、というかVARSを用意してるのにこいつはそもそもQEMUで読み込みすらできない。
というわけで、自分でビルドして用意します。
必要なパッケージ
nasmとacpica-toolsが必要ですので、適宜aptやdnf、yumなどのパッケージマネージャーでインストールしてください。基本的に2つとも公式レポジトリで配信されてますが、もしCentOS 8を使っているならPowerToolsレポジトリを有効化する必要があります。
CentOS 8
sudo dnf -–enablerepo=PowerTools install nasm acpica-tools
Fedora
sudo dnf install nasm acpica-tools
CentOS 7
sudo yum install nasm acpica-tools
Debian・Ubuntu
sudo apt install nasm acpica-tools
ソースコードの入手
gitからダウンロードします。
git clone https://github.com/tianocore/edk2.git
cd edk2
git submodule update --init
ビルド
ビルド用のスクリプトがあるのでそれを使います。パッケージが足りないなど失敗した場合はFailedになるので、適宜確認してください。
ちなみに-n 4は並列実行数なので適宜変更してください。
AMD 64bit
OvmfPkg/build.sh -a X64 -n 4
ビルドが完了すればBuild/OvmfX64/DEBUG_GCC5/FV/OVMF.fdが生成されます。ちなみにDEBUG_GCC5は利用したGCCのバージョンにより変わります。
Intel 32bit
OvmfPkg/build.sh -a IA32 -n 4
ビルドが完了すればBuild/OvmfIa32/DEBUG_GCC5/FV/OVMF.fdが生成されます。こちらもDEBUG_GCC5は利用したGCCのバージョンにより変わります。
まとめ
以上、 ビルド済みOVMFがネットにあんまり転がってないけど、簡単にビルドできるので試してどうぞ。
コメント