UEFI入门之EDK II开发环境搭建

       EDK II是开源的对UEFI标准的实现,目前主流的IBV(BIOS代码供应商,像AMI、Insyde和Byosoft等)的代码都是基于EDK II做二次开发。本文将介绍在Windows10系统中使用VS2017做工具链,基于tag:edk2-stable201911版本代码搭建UEFI开发环境并能运行BIOS模拟器。

准备工作

1. 下载edk II代码。从github中的edk2仓库下载tag=edk2-stable201911的代码,链接为https://github.com/tianocore/edk2。不同版本的代码依赖的软件版本也不同,搭建步骤也略有区别,edk2-stable201911是目前最新的稳定版代码,本文仅适用于edk2-stable201911版本,之前版本的搭建方式请参考其他的博客。

2.安装Python3。从Python官网或Anaconda下载python3.7及以上版本安装,安装后将安装路径添加到系统变量,并将系统变量添加到环境变量Path中。

UEFI入门之EDK II开发环境搭建_第1张图片

3.安装IASL。下载IASL(地址:https://acpica.org/sites/acpica/files/iasl-win-20200110.zip)并解压到C:\ASL 目录下。

UEFI入门之EDK II开发环境搭建_第2张图片

4.安装NASM。下载NASM(地址:https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/win64/),安装到C:\nasm目录中。

UEFI入门之EDK II开发环境搭建_第3张图片

5. 安装VS2017。

配置开发环境

1. 生成Win32 BaseTools。在代码目录打开CMD,首先运行命令:

cd BaseTools
toolsetup.sh

   再返回代码根目录,运行命令:

cd ..
edksetup.bat Rebuild

运行完后在BaseTools\Bin目录下会生成Win32目录,在Conf\目录下回生成配置文件。

UEFI入门之EDK II开发环境搭建_第4张图片

UEFI入门之EDK II开发环境搭建_第5张图片

2. 编辑配置文件。打开Conf/target.txt文件并编辑:

ACTIVE_PLATFORM       = EmulatorPkg/EmulatorPkg.dsc
TARGET                = DEBUG
TARGET_ARCH           = IA32
TOOL_CHAIN_CONF       = Conf/tools_def.txt
TOOL_CHAIN_TAG        = VS2017
MAX_CONCURRENT_THREAD_NUMBER = 8

       ACTIVE_PLATFORM是由DSC文件确定的需要编译的Pkg,这里默认是EmulatorPkg/EmulatorPkg.dsc。此版本中Windows和Linux系统下的模拟器全统一在EmulatorPkg里,Nt32Pkg和UnixPkg已经被废弃。TARGET可以设置为DEBUG或者RELEASE。TARGET_ARCH在Windows下可以设置为IA32或X64。TOOL_CHAIN_CONF表示编译工具链,根据计算机安装的编译器选择即可。我的计算机安装VS2017,所以就设置为VS2017。MAX_CONCURRENT_THREAD_NUMBER表示编译期间的最大线程数,设置为计算机的线程数即可。

3. 生成模拟器。运行命令:

build

出现下图说明编译已经成功了。

UEFI入门之EDK II开发环境搭建_第6张图片

运行模拟器

    编译成功后,运行Build\EmulatorIA32\DEBUG_VS2017\IA32目录下的host.exe文件,会出现下图画面:

UEFI入门之EDK II开发环境搭建_第7张图片

按F2可以进入Setup界面:

UEFI入门之EDK II开发环境搭建_第8张图片

本文的内容就此结束。

   

你可能感兴趣的:(UEFI_EDK2,UEFI,BIOS,EDK2)