1.下载最新的EDK2
https://github.com/tianocore/edk2/releases
下载所有的模块的压缩包,把所有的压缩包解压到一个目录
edk2
2.设置环境变量
开始菜单启动VS2019控制台工具
Developer Command Prompt for VS 2019 注意 BaseTools 只能用x86平台工具编译 其他包可以使用任意平台交叉编译,所有包对工具版本限制不严格
设置以下环境变量(自行修改成工具的实际路径):
注意结尾的 反斜杠号 不能少
3.修改生成配置文件
在 edk2 目录下运行 edksetup.bat 生成配置文件
编辑 conf\target.txt
编辑内容如下:
这里可以不设置,通过参数列表指定 3.生成BaseTools
执行 edksetup.bat rebuild 或在 BaseTools目录下运行 nmake
4.执行edkstup.bat 构建编译环境
- 执行 build -D ADD_SHELL_STRING 指令编辑模拟器
edk2\Build\EmulatorX64\DEBUG_VS2019\X64\WinHost.exe
- 执行 build -p OvmfPkg/OvmfPkgX64.dsc 指令编译 支持 uefi 的虚拟机的BIOS
6.OVMF制作
OVMF(开放虚拟机固件)是使用于虚拟机上的UEFI固件。EDK2提供了相应制作虚拟机固件的方法
制作OVMF:编译OVMF包,分两种情况 1)编译64位:build过程中使用 build -a X64 -p OvmfPkg\OvmfPkgX64.dsc -t VS2019 输出: edk2\Build\OvmfX64\DEBUG_VS2019\FV\OVMF.fd 2)编译32位:build过程中使用 build -a IA32 -p OvmfPkg\OvmfPkgIa32.dsc -t VS2019 输出: edk2\Build\OvmfIa32\DEBUG_VS2019\FV\OVMF.fd
7.在QEMU虚拟机使用固件OVMF:
1)从qemu官网:https://www.qemu.org/download/ 下载并安装qemu 2)把上述生成的OVMF.fd文件复制到qemu安装目录下,在CMD命令下运行QEMU命令: qemu-system-x86_64.exe -bios OVMF.fd -M pc -m 256 -cpu qemu64 -vga cirrus -serial vc -parallel vc -name UEFI -boot order=dc -hda fat:rw:D:\edkarea -serial file:D:\edkarea\log.txt 运行成功后同样会进入到UEFI shell界面,其中上述命令中fat:rw:D:\edkarea为我们自己创建的在D盘中的一个文件夹,通过此命令把此文件夹当一个虚拟的磁盘挂载进去。 简化版 qemu-system-x86_64.exe -L . –bios .\OVMF.fd -net none
How to run OVMF · tianocore/tianocore.github.io Wiki · GitHub
本文为原创文章,转载请注明出处!