UEFI 原理与编程 1 - UEFI开发环境EDK2搭建
发布网友
发布时间:2024-08-24 18:07
我来回答
共1个回答
热心网友
时间:2024-08-24 19:36
之前尝试在物理机Win10上安装并搭建开发环境,但经过一天的尝试,包括尝试使用wsl,最终都以失败告终。这次我决定直接在Win7虚拟机上进行安装。
接下来是安装开发工具的步骤。
首先,安装VS 2015(也可以安装VS2017,但个人感觉VS2015文件较小),或者VS2019(但需要注意的是,VS2019在2018的EDK2中不受支持,尽管2019的EDK有所支持,但网络上的教程并不对应)。微软将官方的下载链接隐藏得很深,可以参考这篇文章cnblogs.com/yilezhu/p/...。在安装之前,可能需要安装Microsoft .NET Framework 4.6.1。
其次,安装Python2.7(python.org/downloads/re...),并新建环境变量PYTHON_HOME,其值为C:\Python27\。
然后,下载IASL编译器(acpica.org/downloads/bi...)。
接着,下载NASM(nasm.us/...),将其路径添加到环境变量PATH中,并设置NASM_PREFIX=C:\UEFI\nasm\(如果不设置NASM_PREFIX,也会报warning,但如果不正确设置,则需要删除udk2文件夹重新开始)。
下载 Openssl(wiki.overbyte.eu/arch/o....),将其路径添加到环境变量PATH中。
下载edk2开发包,解压:codeload.github.com/tia...。此时在根目录下应有以下文件。
生成OPENSSL加密库。从https://github.com/openssl/openssl/archive/OpenSSL_1_1_0g.zip下载,下载后解压到edk2\CryptoPkg\Library\OpensslLib中,并重命名为openssl。
预搭建base tools。从https://github.com/tianocore/edk2-BaseTools-win32并解压到edk2\BaseTools\Bin,重命名为Win32。注意,如果忽略此步,会在接下来的搭建中遇到报错环境变量PYTHON_HOME的问题。
配置EDK2开发环境:进入edk2目录,执行.\edk2\.\edksetup.bat。之后,在Conf目录下会建立target.txt等文件。
编辑target.txt,将第60行修改为TOOL_CHAIN_TAG = VS2015,并检查tools_def.txt,确保编译器路径正确。
编译UEFI模拟器和UEFI工程:首先编译UEFI模拟器,执行.\edksetup.bat rebuild,然后执行.\edksetup.bat --nt32 3 build。如果出现脚本去C:\Program Files\下找Windows Kits的情况,但一般Windows Kits在C:\Program Files(x86)\下,可以以管理员身份在C:\Program Files\下执行mklink /j "Windows Kits" "C:\Program Files(x86)\Windows Kits",创建一个软链接。
最后,执行1 build run。