UEFI学习1-Win10 EDK2开发环境设置与UEFI模拟器启动

公司让我们定各自学习计划,我选择了学习UEFI,也算是和本职工作沾点边。买了本书《UEFI原理与编程》,不过发现内容有不少过时了,不过还是借助网络,把EDK2的开发环境设置完成了,并将UEFI模拟器跑起来了,踩了不少坑。步骤记录如下:

1. 下载EDK2 

方法有多种,多番尝试之后,发现从GitHub上下载edk2的官方版本是最稳妥的方法。

  网址:https://github.com/tianocore/edk2, 用GitHub客户端clone下来,我clone到了D:\edk2这个目录。

  

2. 修改edk2配置

进入..\edk2\BaseTools\Conf目录,

打开target.templete, 把“TARGET_ARCH”值改为X64 (根据实际情况而定),把“TOOL_CHAIN_TAG”值改为VS2017(我装的是VS2017,具体怎么设可以参考tools_def.template,VS各个版本的名称都有)

打开tools_def.template, 把“DEFINE VS_HOST”值设置为x64。

这两个文件在后面的build操作中有用。

3. 安装配套软件

安装ASL:https://acpica.org/downloads, 其实就是下载,不需要安装,把所有文件放到C:\ASL即可。

【备用下载】:https://download.csdn.net/download/zhouyingge1104/14930429

安装nasm:https://www.nasm.us/,安装完成之后把nasm路径添加到Path系统变量。

【备用下载】:https://download.csdn.net/download/zhouyingge1104/14930435

安装python:https://www.python.org/downloads/

环境变量增加PYTHON_HOME:

4. Setup

CMD> D:\edk2>edksetup.bat ForceRebuild (表示强制重新设置),完成之后的log如图:(忽略那两个警告)

5. Build/Run

官方教程:https://github.com/tianocore/edk2/blob/master/EmulatorPkg/Readme.md

Build: CMD>D:\edk2>build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -a X64, 完成之后的log如图:(出现"Done"就表明build完成)

后面可以直接输入 build,效果一样的

Run: CMD>D:edk2>cd Build\EmulatorX64\DEBUG_VS2017\X64\ && WinHost.exe, 正常执行之后会弹出模拟器窗口,如下图:

        

在模拟器窗口,测试一下,进入FS0分区(实际就是模拟器WinHost.exe所在目录)Shell>FS0:

看看当前目录有哪些文件:Shell>ls

后面可以直接打开D:\edk2\Build\EmulatorX64\DEBUG_VS2017\X64\WinHost.exe,效果一样的

一开始模拟器打开之后,发现窗口卡住了,无法进行任何操作,后来按照完整的方法重新setup/build/run之后解决了。

********************************************************************************************************************

OK, EDK2环境设置和模拟器启动的工作完成了,下一步就可以开始深入学习了。

参考书:《UEFI原理与编程》- 戴正华

猜你喜欢

转载自blog.csdn.net/zhouyingge1104/article/details/113138871