使用VS2019配置EDK2安装教程

1. 安装必要环境

① 安装Visual Studio 2019。注意:如果机器上已安装了其他版本的Visual Studio,需要先将其卸载,而后再安装Visual Studio 2019。

安装时,"工作负载"勾选"使用C++的桌面开发"。此外,在右侧”安装详细信息”列表中,需要勾选”适用于Windows的clang编译器”。

② 安装Python 3.8至C:\Python38\,并添加到环境变量中。

Python 3.8下载地址:Python Release Python 3.8.0 | Python.org

③ 安装NASM至C:\NASM\,并添加到环境变量中。

NASM下载地址(目前稳定版为2.16.01。感谢评论区网友提示,最好下载NASM 2.15以上版本,否则可能出现兼容性问题):https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-2.16.01-installer-x64.exe

④ 安装CYGWIN至C:\cygwin64\,并添加到环境变量中。

CYGWIN下载地址:http://www.cygwin.com/setup-x86_64.exe

⑤ 安装IASL至C:\ASL\。

IASL下载地址:https://acpica.org/sites/acpica/files/iasl-win-20200110.zip

注意,IASL所在目录必须是”C:\ASL\”,否则后续构建流程将会出错(推测是由于EDK2指定IASL路径时采用的是硬编码)。

IASL无需添加到环境变量中。

⑥ 将Visual Studio 2019自带的Clang路径(在笔者机器上,该路径为:C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\Llvm\x64\bin\),加入环境变量中。

笔者机器上的环境变量配置,如下图所示(Clang路径未能截全,请参考上一段的示例)。

打开Developer Command Prompt for VS 2019(可在任务栏左侧的搜索框中输入关键字以查找此应用程序)。可以把它理解为一个Visual Studio 2019的Shell程序。

注:如无特殊说明,后续命令都将在Developer Command Prompt for VS 2019中执行,并且执行命令时所处目录为edk2工程顶级目录,即”xxx\edk2”

⑦ 下载EDK2

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

cd edk2

git submodule update --init

2. 配置EDK2开发环境

edksetup.bat Rebuild              # 生成BaseTools/Bin/Win32目录下的一系列文件

edksetup.bat

注:执行此命令后,可能出现的报错信息、出错原因及解决方法

控制台中出现”!!!Warning!!! No {ENV} set”字样的警告,则表明相应的环境变量ENV未配置好,请重新配置该环境变量。虽然是Warning,但必须解决,否则后续Build将会出错。

② 控制台中出现"Error: Cannot find BaseTools Bin Win32!!!",则通常是因为没有执行上一条命令"edksetup.bat Rebuild"所致。执行上一条命令,而后再执行本命令即可。

notepad Conf/target.txt           # 创建Conf目录下的"target.txt"配置文件

进行如下修改:

=======================================

ACTIVE_PLATFORM       = MdePkg/MdePkg.dsc

...

TARGET                = RELEASE

...

TARGET_ARCH           = X64

...

TOOL_CHAIN_TAG        = VS2019

...

MAX_CONCURRENT_THREAD_NUMBER = 0

=======================================

build

编译需要一段时间。若最后出现”Done”,则表明编译成功。

notepad Conf\target.txt

==========================================

ACTIVE_PLATFORM       = CryptoPkg/CryptoPkg.dsc

...

==========================================

build

同上,编译需要一段时间。若最后出现”Done”,则表明编译成功。

3. 编译Ovmf工程

build -a X64 -p OvmfPkg\OvmfPkgX64.dsc -b RELEASE

注:目前仅在RELEASE模式下build成功,DEBUG模式下会build失败,原因未知。

4. 编译EmulatorPkg工程

Emulator是64位EDK2的UEFI界面模拟器,用于取代32位EDK2中的NT32工程。

build -a X64 -p EmulatorPkg\EmulatorPkg.dsc

5. 打开Emulator模拟器

执行程序” C:\edk2\Build\EmulatorX64\RELEASE_VS2019\X64\WinHost.exe”。

该程序将会启动一个”GOP Window”窗口。等待数秒后,将进入如下界面,表明Emulator工程能够正常运行。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值