UEFI模拟环境搭建——windows+EDKII

目录

0 说明

1 安装软件

1.1 VS2019的安装

1.2 Python的安装

1.3 IASL的安装

1.4  NASM的安装

1.5 git的下载

2 EDKII的下载

3 配置环境


0 说明

       个人感觉UEFI的环境搭建非常复杂,在经过很长一段折磨后,终于还是搭建成功,写下来记录一下,同时如果可以的话,也希望给其他小伙伴带来一些帮助。要搭建UEFI的环境,需要下载一些必要的依赖文件:VS2019、Python、NASM、IASL、Git,下面就看下具体步骤吧。

参考资料:(非常感谢以下大佬的博客)

本文只是作为笔记使用,不作为商业用途,侵删。

UEFI——Windows10+VS2019 EDKII环境搭建_iasl下载-CSDN博客

UEFI学习---EDK II开发环境的搭建_edk2-CSDN博客

【UEFI】Windows和Linux下的环境搭建_uefi环境搭建-CSDN博客

UEFI原理与编程(二)UEFI开发环境搭建

环境:

Windows 10

1 安装软件

1.1 VS2019的安装

这里我使用的是VS2019,其实也可以选用其他的,相差不大应该都行,但是注意不要超过VS2019,因为EDKII支持的最高版本就到VS2019。

下载链接:Visual Studio 2019 再分发 | Microsoft Learn

UEFI模拟环境搭建——windows+EDKII_第1张图片

下载之后,安装即可。

按照下图选择即可。

UEFI模拟环境搭建——windows+EDKII_第2张图片

之后按照步骤正常安装即可。

对了,VS 2019的安装路径最好是默认的。(其实不是默认的我也没试过,参考其他人写的)

1.2 Python的安装

现在一般都是使用python3了,具体版本应该都差不多。

Download Python | Python.org

我下载的是python 11。安装python时,注意直接选择添加至环境变量,这样不用自己配置环境变量。

UEFI模拟环境搭建——windows+EDKII_第3张图片

1.3 IASL的安装

IASL只需要下载解压,不用安装。

https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/download.html

UEFI模拟环境搭建——windows+EDKII_第4张图片

我放在了C盘下,C:\ASL\

UEFI模拟环境搭建——windows+EDKII_第5张图片

1.4  NASM的安装

NASM的版本要在2.15以及以上。

Index of /pub/nasm/releasebuilds/2.15.05/win64

UEFI模拟环境搭建——windows+EDKII_第6张图片

下载后管理员安装即可,没有什么特别注意的,有的话就注意下安装路径就行。我这里也是在C:\NASM\

UEFI模拟环境搭建——windows+EDKII_第7张图片

1.5 git的下载

下载对应系统的git(这里是以windows 10为例)

Git - Downloading Package

UEFI模拟环境搭建——windows+EDKII_第8张图片

2 EDKII的下载

下载git后,右键就可看到多出有关git的选项:

UEFI模拟环境搭建——windows+EDKII_第9张图片

为了下载EDKII,我在C下创建了文件夹edk2pro。(C:\edk2pro)

进入C:\edk2pro右键打开Open Git Bash here。

UEFI模拟环境搭建——windows+EDKII_第10张图片

下载源码:

git clone https://github.com/tianocore/edk2

这里可能会出错,大多数都是网络原因,可以多尝试几遍(如果还不行就只能换源或者(呃...))

之后进入edk2文件夹:(C:\edk2pro\edk)

$ cd edk2
$ git submodule update --init

这里给git也可能失败。同样大多数都是网络原因,可以多尝试几遍(如果还不行就只能换源或者(呃...))。

3 配置环境

这步是最麻烦、最容易出错的。

首先把python、NASM、IASL添加到用户变量里面。

找到设置——搜索高级系统设置——点击环境变量——点击用户变量path——点击编辑——添加路径即可。(有的时候要求最好要带上“ \ ”,其实不太明白这里是不是重要的,只能在编译时都试试╮(╯▽╰)╭)

UEFI模拟环境搭建——windows+EDKII_第11张图片

如果不行可以在这里再添加下:UEFI模拟环境搭建——windows+EDKII_第12张图片

运行edksetup.bat(如果不行先运行edksetup.bat rebuild)

我这里是先运行edksetup.bat会报错,说没有Win32,我只好运行edksetup.bat rebuild就没事了,反正就是在运行edksetup.bat和运行edksetup.bat rebuild间不断调,最好能运行成功。具体我不太明白。╮(╯▽╰)╭

之后找到edk2\Conf,下有target.txt和tools_def.txt。

target.txt:

UEFI模拟环境搭建——windows+EDKII_第13张图片

UEFI模拟环境搭建——windows+EDKII_第14张图片

UEFI模拟环境搭建——windows+EDKII_第15张图片

一般tools_def.txt不用修改。

UEFI模拟环境搭建——windows+EDKII_第16张图片

注意以下路径:

UEFI模拟环境搭建——windows+EDKII_第17张图片

之后就可以运行edksetup.bat rebuild

UEFI模拟环境搭建——windows+EDKII_第18张图片

运行完后build,done即为成功。

UEFI模拟环境搭建——windows+EDKII_第19张图片

如果这里出错,可以先配置下环境:

# 这样设置只作用于本次cmd
set PYTHON_HOME=C:\python311   # 全是我下载的路径,修改为自己路径
set NASM_PREFIX=C:\NASM\
set IASL_PREFIX=C:\ASL\
set VS2019_PREFIX= VS2019路径(写到...MSVC\14.16.27023就行)

如果以上不行,那就重启电脑,之后打开cmd,先配置环境,再edksetup.bat rebuild,再build即可。

4 运行实例代码HelloWorld

再build后就可以在...edk2\Build\EmulatorX64\DEBUG_VS2019\x64下找到WinHost.exe,点击运行。

UEFI模拟环境搭建——windows+EDKII_第20张图片

UEFI模拟环境搭建——windows+EDKII_第21张图片

注意这里打开后,可能没法进行操作,主要是因为输入法的问题,我们需要下载英语输入法,之后切换后再次运行。

设置——时间和语言——语言

UEFI模拟环境搭建——windows+EDKII_第22张图片

应用后切换:

UEFI模拟环境搭建——windows+EDKII_第23张图片

再次点击WinHost.exe,输入fs0,输入HelloWorld.efi:

UEFI模拟环境搭建——windows+EDKII_第24张图片

你可能感兴趣的:(windows,EDKII,UEFI)