LoginSignup
0
0

More than 1 year has passed since last update.

Windows + Visual Studio 2019 で EDK2 の OVMF をビルドする【3.OVMFのビルド】

Posted at

【目標】

『Windows 10 に EDK2環境 を構築し、Visual Studio Community 2019 を
 使って OVMF(OvmfPkg) をビルドする。』

【前回まで】

前回でEDK2環境の準備が完了し、HelloWorld.efiがビルドできました。
今回は目標となっていたOVMFをビルドします。
OVMFとは何ぞ?という方はこちらをご覧ください。
https://github.com/tianocore/tianocore.github.io/wiki/OVMF
ざっくりと仮想PCで動作するUEFI一式みたいな感じです。

【今回の目標】

64bit版OVMF(OvmfPkg)をビルドします。
ビルドしたOVMFでQEMUを動作させたいと思います。

まず EDK2ビルド用コマンドプロンプト を準備します

【EDK2ビルド用コマンドプロンプト】

・スタートメニューより「x64 Native Tools Command Prompt for VS 2019」
 開いて、次の通り入力します
 chcp 65001
 ※使用する文字コードをUTF-8にしてビルド実行中の日本語文字化け
  に対処します。
 cd C:\EDK2
 edksetup.bat
 ※以下の1つのエラーは気にしないでください
  - 「!!! ERROR !!! Binary C tools are missing. They are required to be built from BaseTools Source.」
   BaseToolsでsplit.exeを生成しなくなったのにチェックして
   いるようです
 ※以下の2つのワーニングが出ますが気にしないでください
  - 「!!! WARNING !!! CLANG_BIN environment variable is not set」
   今後も CLANG は使わないので設定しません
  - 「!!! WARNING !!! No CYGWIN_HOME set, gcc build may not be used !!!」
   今後も CYGWIN は使わないので設定しません
そのまま【64bit版OVMF(OvmfPkg)のビルド】へすすみます
https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems
 「Build」に記載の手順となります

次に 64bit版OVMF(OvmfPkg)のビルド をやってみます

【64bit版OVMF(OvmfPkg)のビルド】

・引き続き「x64 Native Tools Command Prompt for VS 2019」
 次の通り入力します
 build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t VS2019 -b DEBUG
 Visual Studio 2017 の場合は、VS2019 を VS2017 としてください。
"Done" が出たらビルドは終了です
・以下のように入力して OVMF.fd が出来ていたら成功です
 dir C:\edk2\Build\OvmfX64\DEBUG_VS2019\FV\OVMF.fd
 こちらもVisual Studio 2017 の場合は、VS2019 を VS2017 としてください。

せっかくですので、QEMUを使って ビルドした64bit版OVMF の動作確認をします。
https://www.qemu.org/
まずはQEMUのインストールから。

【QEMUのインストール】

64bit版のインストーラーを使ってインストールします
 https://www.qemu.org/download/#windows
・このインストールでは特別な設定が必要ありませんでしたので、
 画像などは省略します
・その他はお好みで設定してください

【ビルドした64bit版OVMF】

・コマンドプロンプトを開いて次の通り入力します
 "C:\Program Files\qemu\qemu-system-x86_64.exe" -machine q35,smm=on -m 8G -smp 4 -global ICH9-LPC.disable_s3=1 -bios C:\EDK2\Build\OvmfX64\DEBUG_VS2019\FV\OVMF.fd -net none
 こちらもVisual Studio 2017 の場合は、VS2019 を VS2017 としてください。
・各パラメータの意味は以下の通りです
 -machine q35,smm=on : 仮想PCのHW構成を指定しています
 -m 8G : 仮想メモリとして8GBを指定しています
 -smp 4 : 使用するCPUコア数として4を指定しています
 -global ICH9-LPC.disable_s3=1 : 64bit版OVMF使用時に必要となる指定です
 -bios C:\EDK2\Build\OvmfX64\DEBUG_VS2019\FV\OVMF.fd : ビルドした64bit版OVMFです
 -net none : ネットワークなしを指定しています
・ビルドした64bit版OVMFでQEMUが起動すると、以下のような画面になります。
Qemu-Ovmf.png
・64bit版OVMFなしでQEMUが起動すると、以下のような画面になります。
 パラメータ不正の場合にはQEMUが起動しないかもしれません。
Qemu-NoOvmf.png

OVMFのビルドはここまでです。目標は達成しましたが、
もう少し続くかもしれません。
ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0