介绍
本人正在进行UEFI开发的学习,这次安装是在window环境下安装的,自己在安装过程中也是遇到了很多问题,有些问题甚至还没有解决找出原因。这次的安装过程记录的是一次成功的安装,但是不保证其他版本软件也能按照如下步骤正常安装。软件安装是门玄学,祝愿各位一切顺利。
这里贴出官网的安装链接,能力强的可以参照官网说明进行安装,避免博文中存在纰漏。https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems
软件准备
Visual Studio Professional 2017
downloadLinkEDK2 stable 202002
downloadLinkPython 3.7
downloadLinknasm
downloadLinkASL
downloadLink
安装过程
Visual Studio Professional 2017 安装
这里的图片是网图,我安装时没有截图,所以借用别人的安装过程进行说明。
-
这里仅选择C++桌面开发即可,并选择设置安装位置。
-
设置软件的安装位置,我这里设置的是
Visual Studio IDED:\MicrosoftVisualStudio\2017\Professional
下载缓存D:\MicrosoftVisualStudio\Packages
个人建议路径中不要带有空格,默认安装路径中带有空格,我们可以进行手动删除。(我的第一次安装就是将其放在默认路径下,导致命令执行错误,但是我不知道是不是路径中带有空格的原因,所以最好还是别乱搞)。
Python3.7 安装
我这里是直接把他安装在默认路径之下的,安装时记得勾选Add Python 3.7 to PATH
,这样会将Python的安装路径加入环境变量。
NASM 安装
将nasm
安装在C:\nasm\
下,必须是这个路径(官方安装建议,安装在这里应该可以避免踩雷)。
ASL
下载Windows Binary Tools
,将其解压到目录C:\ASL
下。
EDKII 安装运行
-
下载完整代码是点击Download ZIP。下载完成后解压到随便一个目录,我这里解压到了
D:\EDK2\edk2
。 -
编译 BaseTool,这些工具就是用于生成UEFI项目的工具。之前版本的EDK 2是将编译好的BaseTool随源码一起的,现在则需要用户自己进行编译生成,所以你在看某些安装教程时会要求你下载Win32至目录
..\edk2\BaseTools\Bin\Win32
。这里我们开打cmd(不是powershell)
,并切换到edk的安装目录下,此目录下有edksetuo.bat
,执行如下命令。
运行成功后我们可以看到BaseTool目录下多出了很多文件。 -
配置
..\edk2\Conf
的target.txt,将Tool_CHAIN_TAG进行如下修改 -
编译EmulatorPkg,这个包可以编译出UEFI虚拟机。在CMD中运行如下命令。
如果build命令不能用,你需要先执行edksetup.bat
,再执行build。这里是因为edksetup.bat
会将build命令的路径加入临时环境变量,如果你中途关闭了CMD,那么下次打开时须再次将build
命令的路径加入环境变量。 -
编译完成之后,我们会在
...\edk2-edk2-stable202002\Build\EmulatorIA32\DEBUG_VS2017\IA32
目录下生成一个WinHost.exe
文件,双击运行我们便可以看到虚拟机运行。如果各位在学习《UEFI原因与编程》这本书,那么这个虚拟机就是作者提到的Nt32Pkg
。