EDK2安装

时间:2024-04-10 09:46:00

介绍

本人正在进行UEFI开发的学习,这次安装是在window环境下安装的,自己在安装过程中也是遇到了很多问题,有些问题甚至还没有解决找出原因。这次的安装过程记录的是一次成功的安装,但是不保证其他版本软件也能按照如下步骤正常安装。软件安装是门玄学,祝愿各位一切顺利。

这里贴出官网的安装链接,能力强的可以参照官网说明进行安装,避免博文中存在纰漏。
https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems

软件准备

Visual Studio Professional 2017 downloadLink
EDK2 stable 202002 downloadLink
Python 3.7downloadLink
nasmdownloadLink
ASLdownloadLink

安装过程

Visual Studio Professional 2017 安装

这里的图片是网图,我安装时没有截图,所以借用别人的安装过程进行说明。

  1. 这里仅选择C++桌面开发即可,并选择设置安装位置。
    EDK2安装

  2. 设置软件的安装位置,我这里设置的是
    Visual Studio IDE D:\MicrosoftVisualStudio\2017\Professional
    下载缓存 D:\MicrosoftVisualStudio\Packages
    个人建议路径中不要带有空格,默认安装路径中带有空格,我们可以进行手动删除。(我的第一次安装就是将其放在默认路径下,导致命令执行错误,但是我不知道是不是路径中带有空格的原因,所以最好还是别乱搞)。
    EDK2安装

Python3.7 安装

我这里是直接把他安装在默认路径之下的,安装时记得勾选Add Python 3.7 to PATH,这样会将Python的安装路径加入环境变量。
EDK2安装

NASM 安装

nasm安装在C:\nasm\下,必须是这个路径(官方安装建议,安装在这里应该可以避免踩雷)。

ASL

下载Windows Binary Tools,将其解压到目录C:\ASL下。

EDKII 安装运行

  1. 下载完整代码是点击Download ZIP。下载完成后解压到随便一个目录,我这里解压到了D:\EDK2\edk2
    EDK2安装

  2. 编译 BaseTool,这些工具就是用于生成UEFI项目的工具。之前版本的EDK 2是将编译好的BaseTool随源码一起的,现在则需要用户自己进行编译生成,所以你在看某些安装教程时会要求你下载Win32至目录..\edk2\BaseTools\Bin\Win32。这里我们开打cmd(不是powershell),并切换到edk的安装目录下,此目录下有edksetuo.bat,执行如下命令。
    EDK2安装
    运行成功后我们可以看到BaseTool目录下多出了很多文件。

  3. 配置..\edk2\Conf的target.txt,将Tool_CHAIN_TAG进行如下修改
    EDK2安装

  4. 编译EmulatorPkg,这个包可以编译出UEFI虚拟机。在CMD中运行如下命令。
    EDK2安装
    如果build命令不能用,你需要先执行edksetup.bat,再执行build。这里是因为edksetup.bat会将build命令的路径加入临时环境变量,如果你中途关闭了CMD,那么下次打开时须再次将build命令的路径加入环境变量。
    EDK2安装

  5. 编译完成之后,我们会在...\edk2-edk2-stable202002\Build\EmulatorIA32\DEBUG_VS2017\IA32目录下生成一个WinHost.exe文件,双击运行我们便可以看到虚拟机运行。如果各位在学习《UEFI原因与编程》这本书,那么这个虚拟机就是作者提到的Nt32Pkg
    EDK2安装