使用了一段时间的EmulatorPkg,发现里面的模拟器有一些EFI文件根本就不支持运行,所以想用QMEU模拟器试试,不用还好,一用就一堆找不到文件的error;
研究了一段时间,发现是OpenSSL的code升级到3.0之后会把所有低级的API干掉,但是EDK2里面有一些code还是需要这些API支持,所以会报很多找不到文件的error;
研究过程中发现一个很cool的download EDK2的方法,一起贴在这篇博客里面。
一、下载最新的EDK2及其分支
首先你要安装一个git
git download
安装成功之后,在你想要下载edk2的目录下,单击鼠标右键,选择git bash here,弹出如下窗口;
输入命令 – git clone https://github.com/tianocore/edk2
下载完成之后,进入下载的edk2文件夹内,输入第二条命令 – git submodule update --init
二、修改target.txt
//修改文件内的参数
ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc
二、编译EDK2
将edk2\MdePkg\Include\Register\Intel路径下的ArchitecturalMsr.h文件打开;
将图中这两串字符重新用英文格式打一遍
/// 0000 - AES-XTS-128.
/// 0001 - AES-XTS-128 with integrity.
/// 0010 - AES-XTS-256.
/// Encryption Enable) is not also set to '1, as encryption hardware must be
调用CMD窗口,定位到edk2文件夹下,输入命令 – edksetup.bat;
编译完成后,输入命令 – edksetup.bat rebuild;
最后编译完成
调用x86_x64 Cross Tools Command Prompt for VS 2019窗口,将位置定位到edk2文件夹下;
输入命令 – edksetup.bat;
修改edk2\Conf路径下target.txt文件内的参数:
ACTIVE_PLATFORM = EmulatorPkg/EmulatorPkg.dsc -->
ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc
TARGET_ARCH = IA32 -->
TARGET_ARCH = X64
TOOL_CHAIN_TAG = VS2015x86 -->
TOOL_CHAIN_TAG = VS2019
build!
编译通过之后就可以使用QUME来模拟shell环境了!