Ideal Reality

興味の赴くままに

OVMFをビルドする

今までQEMUでUEFI使うときは以下のビルド済みのOVMFをダウンロードして使ってたのですが、今回CentOS 8のKVMで使うと何故かゲストOSをブートできなかった。

https://github.com/BlankOn/ovmf-blobs

dnfでインストールできるのはSecure BootオンのCODEだけだし、というかVARSを用意してるのにこいつはそもそもQEMUで読み込みすらできない。

というわけで、自分でビルドして用意します。

Contents
スポンサーリンク

必要なパッケージ

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がネットにあんまり転がってないけど、簡単にビルドできるので試してどうぞ。

スポンサーリンク

コメント

投稿されたコメントはありません

名前

メールアドレス(任意)

コメント

関連する投稿

virt-manager(libvirt)で自分でビルドしたQEMUを使用する

NO IMAGE

QEMU(KVM)でNVMe SSDをPCIパススルーして使用する

NO IMAGE

QEMUでブリッジネットワークを使用する