Windows系统UEFI开发环境搭建

时间:2025-01-17 14:53:01

本人亲测在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