安装背景
最近我们学校的课程要求我们自己配置UEFI的EDK2开发环境,我也就结合了网上的各种资料,分享一下自己成功安装的过程。
我个人是64位win10系统,如果和我不是同一个环境,那么参考意义应该不大,希望各位体谅。
事先的软件安装
提前说明:建议以下软件安装路径都不要带空格,避免出现不必要的错误
Visual Studio community 2017(2019或者2022也可以)
至少要安装c++的相关组件
EDK2-stable-202002
下载地址:https://github.com/tianocore/edk2/releases/tag/edk2-stable202002
我个人是解压缩到了E盘,路径E:\edk2-edk2-stable202002
Python (安装最新版本的就好)
需要在安装时勾选Add Python to PATH
,这样在用户变量的path里能找到Python的路径。
我电脑的Python路径为C:\Users\Administrator\AppData\Local\Programs\Python\Python38
nasm
安装到c:/nasm
ASL
安装到c:/asl
环境变量配置
下面是以我电脑上为例,需设置如下的系统变量(VS这个根据自己的来,要是2022版本,则是VS2022_PREFIX)
BASE_TOOLS_PATH=E:\edk2-edk2-stable202002\BaseTools
EDK_TOOLS_PATH=E:\edk2-edk2-stable202002\BaseTools
ISAL_PREFIX=c:/asl
NASM_PREFIX=c:/nasm
PYTHON_HOME=C:\Users\Administrator\AppData\Local\Programs\Python\Python38
PYTHON_FREEZER_PATH=C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts\
VS2017_PREFIX=E:\program_files\VS2017\VC\Tools\MSVC\14.16.27023\
开始配置EDK2
做完前面那么多准备工作后终于可以开始准备编译了,过程如下:
(1) cmd进入EDK安装目录执行edksetup.bat Rebuild
(2) 配置\conf\target.txt,将Tool_CHAIN_TAG改为VS2017(或者VS2019,VS2022)
(3) 把\conf\tools_def.txt中的DEFINE VS_HOST从x86改为x64
(4) 执行edksetup.bat VS2017
(或者VS2019,VS2022)
(5) 执行build -a X64
(6) 编译成功,在\Build\EmulatorX64\DEBUG_VS2017\X64文件夹下得到winhost.exe,双击运行就进入了UEFI模拟器。
容易出错之处
我一开始是把Tool_CHAIN_TAG改为VS2017后就直接执行edksetup.bat VS2017
和build -a X64
。结果出现了error 7000: Failed to execute command的相关错误。
后面我了解到了这很可能是由于64位和32位不匹配导致的,所以我尝试了更改conf\tools_def.txt中的DEFINE VS_HOST为x64,然后再次edksetup.bat VS2017
和build -a X64
,总算成功了。
好了,希望我的这篇博客对大家有帮助。