一、UEFI开发环境配置
UEFI开发环境目前支持Windows,Linux,支持的平台也有很多如Intel, AMD,ARM等。
下面主要是介绍如何在windows环境下进行EDK开发。
1.获取EDK源码
EDKII 源码的获取有很多途径
(1)GitHub - tianocore/edk2: EDK II (建议用这个)
(2)p/edk2/code - Revision 29574: /trunk/edk2
基本上以最新的为主,但是也要看一下最新的EDK sourcecode是否有什么问题。EDK会Release稳定的版本,像UDK2014、UDK2015、UDK2017、UDK2018都是稳定的版本。
2.搭建EDK运行环境,参考如下链接:
https://github.com/tianocore/tianocore.github.io/wiki/UDK2018-How-to-Build#how-to-build-windows-system
3. 编译EDK模拟器
二、UEFI开发环境配置
1.获取EDK源码
2.搭建EDK运行环境
a)安装VS2015
注意需要安装ARM64(包含在C++组件中),否则会报错:
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio14.0\Vc\Bin\cl.exe...“
C:\Program"不是内部或外部命令,也不是可运行的程序
b)安装NASM(nasm-2.15.05-installer-x64.exe)
默认的安装路径为C:\Program Files\NASM
c) 安装python2.7(python-2.7.18.amd64.msi)
注意在安装界面选择将 Python 加入 Path
d) 准备Win32 BaseTool
https://github.com/tianocore/edk2-BaseTools-win32.git,
解压之后放在 BaseTools\Bin\Win32目录下。
3.编译EDK模拟器(Nt32Pkg)
a)打开命令行窗口,进入EDK代码目录,执行edksetup.bat --nt32,用于配置Nt32Pkg编译所需的环境。
类似于虚拟机,可以在这个窗口下调试纯软件的程序,如果程序涉及硬件,这个是没有用的。
运行后在conf下面生成三个配置文件:build_rule、target、tools_def。
这三个文件主要是用来配置编译环境和设定编译规则,在生成以后,根据自己的PC来设定编译使用的tool。一般我们只需要设定
target.txt这个文件即可。为了后面编译的时候,不需要每次都指定编译使用的VS版本,target.txt里先指定为VS2015x86,如下所示。
TARGET_ARCH = IA32表示编译的为32位程序,X64表示编译的为32位程序,还有的架构包括ARM等。
TOOL_CHAIN_TAG = VS2015x86表示在64位的Windows上编译程序,VS2015表示在32位的Windows上编译程序,其它的可以不用修改。
b)执行完edksetup.bat --nt32和配置好target.txt文件后,命令行窗口直接输入build命令即可。
c) build完成以后,直接输入命令build run,即可运行EDK模拟器。
至此,Windows UEFI开发环境配置(模拟器版本)就基本上结束了。
搭建过程可能遇到的一些编译问题:
1.NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio14.0\Vc\Bin\cl.exe...“
C:\Program"不是内部或外部命令,也不是可运行的程序
解决方法:如前所述,VS安装时,选择安装ARM64</