所有命令行操作都在CMD内执行
CMD->Developer Command Prompt for VS 2019 (vs自带的命令行环境,也可以直接CMD执行 C:\"Program Files (x86)"\"Microsoft Visual Studio"\2019\Community\Common7\Tools\VsDevCmd.bat) 0. 软件安装/配置环境
VS2019 C++(官网) python 3.8(官网) NASM http://www.nasm.us/(随便找个地方解压) ASL https://acpica.org/downloads/binary-tools(必须解压到C:\ASL,否则找不到)
1. clone edk2
找个地方建立一个工作目录叫EFIwork然后cd进去(VsDevCmd里面先打盘符如E:才能在这个盘里cd)
E: cd E:\EFIwork git clone https://github.com/tianocore/edk2.git edk2 cd edk2 git submodule update --init cd ..
1 2 3 4 5 6
如果要更新的话
cd edk2 git pull git submodule update
1 2 3
2. 编译edk2的win32生成工具
//////////////////////下面是要用到的环境变量,所以每次重开命令行都要执行一遍
set NASM_PREFIX= D:\Libs\nasm\ set IASL_PREFIX = D:\Libs\iasl\ #貌似这个用不到 set WORKSPACE = E:\EFIwork\edk2\ set PACKAGES_PATH = E:\EFIwork\edk2\ set PYTHON_HOME = C:\Users\11033\AppData\Local\Programs\Python\Python38-32\
1 2 3 4 5
////////////edksetup.bat配置了很多环境变量,每次用edk2都要执行,第一次会生成Conf目录下的配置文件,也可用edksetup.bat Reconfig重新生成
cd E:\EFIwork\edk2 edksetup.bat
1 2
////////////生成生成工具 edksetup.bat Rebuild 3. 编译EmulatorPkg(模拟器)
notepad Conf/target.txt # 里面是给build命令用的生成参数,我修改
TOOL_CHAIN_TAG = VS2019 TARGET_ARCH = X64 TARGET = RELEASE ACTIVE_PLATFORM = EmulatorPkg/EmulatorPkg.dsc
1 2 3 4
然后 build -D ADD_SHELL_STRING 完成后运行E:\EFIwork\edk2\Build\EmulatorX64\RELEASE_VS2019\X64\WinHost.exe 输入Reset回车退出 4. 编译OvmfPkg
notepad Conf/target.txt 或者直接 build -p OvmfPkg/OvmfPkgX64.dsc