1.准备工作:
Build environment :Microsoft Windows
NASM
iasl
VS2017 安装选项如下图
2.环境变量
setx NASM_PREFIX=C:\nasm
path中加入
C:\ASL
C:\nasm
Python 2.7.10 或更高版本仍可与PYTHON_HOME<最新的要用PYthon3.8>
Python_HOME=C:\Python27
3.将code 从远程拉取下来并checkout 出2018版本
4.C盘下新建一个文件夹这里取名为UEFIWORKSPACE将code解压到这里,解压后的路径C:\UEFIWORKSPACE\EDK2\Conf
5.新建一个批处理文件testbuild.bat
set WorkSpace=C:\UEFIWORKSPACE
SET EDK_TOOLS_PATH=C:\UEFIWORKSPACE\EDK2\BaseTools
SET CONF_PATH=C:\UEFIWORKSPACE\EDK2\Conf
SET PACKAGES_PATH=C:\UEFIWORKSPACE\EDK2;C:\UEFIWORKSPACE\edk2-libc;C:\UEFIWORKSPACE\EDK2\MdeModulePkg
6.cmd运行以下指令
testbuild.bat
edk2\edk2setup.bat
build -a IA32 -p OvmfPkg\OvmfPkgIa32.dsc -D DEBUG_ON_SERIAL_PORT
至此build成功
VS2017中选择文件-》新建-》从现有代码创建项目,下图项目名称随意
1位置:
cd /D C:\UEFIWORKSPACE
SET WORKSPACE=C:\UEFIWORKSPACE\
SET EDK_TOOLS_PATH=C:\UEFIWORKSPACE\EDK2\BaseTools
SET CONF_PATH=C:\UEFIWORKSPACE\EDK2\Conf
SET PACKAGES_PATH=C:\UEFIWORKSPACE\EDK2;C:\UEFIWORKSPACE\edk2-libc
call edk2/edksetup.bat
call build.bat -a IA32 -p OvmfPkg\OvmfPkgIa32.dsc -D DEBUG_ON_SERIAL_PORT
2位置
cd /D C:\UEFIWORKSPACE
SET WORKSPACE=C:\UEFIWORKSPACE\
SET EDK_TOOLS_PATH=C:\UEFIWORKSPACE\EDK2\BaseTools
SET CONF_PATH=C:\UEFIWORKSPACE\EDK2\Conf
SET PACKAGES_PATH=C:\UEFIWORKSPACE\EDK2;C:\UEFIWORKSPACE\edk2-libc
call edk2/edksetup.bat
call build.bat -a IA32 -p OvmfPkg\OvmfPkgIa32.dsc -D DEBUG_ON_SERIAL_PORT clean
3位置
cd /D C:\UEFIWORKSPACE
SET WORKSPACE=C:\UEFIWORKSPACE\
SET EDK_TOOLS_PATH=C:\UEFIWORKSPACE\EDK2\BaseTools
SET CONF_PATH=C:\UEFIWORKSPACE\EDK2\Conf
SET PACKAGES_PATH=C:\UEFIWORKSPACE\EDK2;C:\UEFIWORKSPACE\edk2-libc
call edk2/edksetup.bat
call build.bat -a IA32 -p OvmfPkg\OvmfPkgIa32.dsc -D DEBUG_ON_SERIAL_PORT clean
call build.bat -a IA32 -p OvmfPkg\OvmfPkgIa32.dsc -D DEBUG_ON_SERIAL_PORT
关于调试的配置:图中命令处为QEMU运行程序《注意:此处不加.exe 会出错!!!》,工作目录为qemu运行程序的目录《此处为绝对路径地址,末尾要加\注意:此处不加\ 会出错!!!》,
至此vs20017关于uefi的环境搭建完毕.<本文参考UEFI编程与实践>