本人亲测在Windows 10和Windows Server 2016上均可以搭建UEFI开发环境,下面是搭建过程。
1. edk2官方文档支持的vs版本最高只到vs2019,并不支持vs2022,经过测试也发现用vs2022确实不能build成功
安装Visual studio community 2019 (下载地址:/thank-you-downloading-visual-studio/?sku=Community&rel=16)
只需要选择 Desktop development with C++ 组件,其它组件都不用选。C++组件中要手动勾上C++ Clang tools,其它的保持默认状态即可
安装完毕以后找到clang,在系统环境变量中添加CLANG_BIN=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\x64\bin\
在开始菜单的visual studio 2019文件夹中打开developer command prompt, pin到taskbar,本文下面所有的命令都是在这个环境中执行的,不能用普通的command prompt来执行
2. windows 10千万不要安装git,因为它会让windows 10的任务栏挂掉,可以在外网用git下载好以后再打包发回内网。
3. 安装python(官网:)
选择自定义安装,勾选全部内容
安装成功后点击Disable path length limit,然后点击close
安装完毕以后检查系统环境变量,确保Path里面包含有Python的安装目录
添加系统环境变量 PYTHON_HOME=C:\Program Files\Python310
3. 安装nasm(官方文档:/tianocore//wiki/Nasm-Setup)
下载安装文档:
(外网可从官网下载)/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.
或者
(内网可从这高速下载)aria2c -o nasm-2.15. -x 3 -s 12 ":8600/dl/nasm-2.15./dl" "/nasm-2.15." "http://108.60.212.227/Files/Software/nasm-2.15." "/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15."
右击nasm-2.15.,以管理员身份运行,选择“install for anyone”,勾选全部组件
将安装目录(C:\Program Files\NASM\)添加到系统环境变量Path
设置系统环境变量 NASM_PREFIX=C:\Program Files\NASM\,目录路径的结尾一定要加\,否则设置无效
4. 安装配置IASL(官方文档:/tianocore//wiki/Asl-Setup)
(外网可从官网下载) /sites/acpica/files/
(内网高速下载) aria2c -o -x 3 -s 12 ":8600/dl//dl" "/" "http://108.60.212.227/Files/Software/" "/sites/acpica/files/"
下载后解压缩,重命名为ASL, 一定要放在C:\ASL,否则可能会没法编译,这是因为conf/tools_def.txt中出现了C:\ASL\
5. 安装CYGWIN,这一步是可选的,不安装cygwin也可以编译成功,大家可以放心跳过这一项,直接到 6. 下载edk2
官网:/
下载地址:/setup-x86_64.exe
安装完毕以后,在系统环境变量中添加CYGWIN_HOME=C:\cygwin64\
6. 下载edk2及其子模块
(外网用git下载)git clone --recursive /tianocore/edk2
(内网高速下载)aria2c -o -x 4 -s 12 "/" ":8600/dl//dl" "http://108.60.212.227/Files/Software/"
下载完毕后解压缩到自己的代码文件夹,我的是C:\code\UEFI\edk2
7. 用下面的命令编译BaseTools,注意,在新增和修改环境变量以后要重新启动developer command prompt,否则修改的变量是不生效的。
C:\code\UEFI\edk2> Rebuild
8. 用下面的命令配置edk2
C:\code\UEFI\edk2> edksetup
9. 编译模拟器
首先使用Win+Space将输入法切换到英文输入法,据说这个会对模拟器的运行有影响。
打开edk2/Conf/文件进行编辑,修改以下内容:
------------------------------
ACTIVE_PLATFORM = EmulatorPkg/
TARGET = DEBUG
TARGET_ARCH = X64
TOOL_CHAIN_TAG = VS2019
------------------------------
运行下面的命令
C:\code\UEFI\edk2> build
build成功以后会显示done
双击运行 \edk2\Build\EmulatorX64\DEBUG_VS2019\X64\
参考资料:
1. UEFI tianocore官方文档
/tianocore//wiki
/tianocore//wiki/Getting-Started-with-EDK-II
/tianocore//wiki/Windows-systems
2. UEFI学习---EDK II开发环境的搭建(2022-7-22)
/news/
3. windows下efi编译环境配置(EDK2)
/zhuhuibeishadiao/article/details/113441936
4 EDK2从搭建到运行(2022-08-03)
/****lnp/article/details/125580838
5. UEFI学习(一)-EDK II环境搭建(2021-09-09)
/weixin_42951246/article/details/120200733
6 使用VS2019配置EDK2安装教程(2021-09-16)
/qq_34719392/article/details/120325700