不知为什么,每次尝试去编译别人的项目都要踩n个坑,应该还是太菜了吧......编译成功后把方法记下来,以后回顾的时候方便看
1.下载edk2到文件夹edk2中
git clone https://github.com/tianocore/edk2.git edk2
2.更新子模块,会添加openssl子模块在edk2\CryptoPkg\Library\OpensslLib\openssl中,以编译OVMF
cd edk2
git submodule update --init
3.安装工具链,我只试过以下两个版本,任选一个就行
(1)安装VS2015,尝试创建一个Win32控制台程序,过程中会要求你安装必要的工具
(2)安装VS2019,打开后,选择“工具”->“获取工具和功能”,在安装列表中勾选“使用C++的桌面开发”,然后在右边的"安装详细信息"中勾选"使用C++的桌面开发"->"MSVC v141 -VS 2017 C++ x64/x86 生成工具",之后右下角的"修改"
4.安装NASM,并添加一条环境变量(不一定要安装下C盘下,可以放到其他路径,下面也是)
NASM_PREFIX C:\NASM\
5.安装PYTHON,并添加两条环境变量
PYTHON_HOME C:\Python38
PYTHON_FREEZER_PATH %PYTHON_HOME%\Scripts
6.添加一条关于IASL路径的环境变量
IASL_PREFIX C:\ASL\
7.编译工具
在edk2路径下打开命令行
edksetup.bat
cd BaseTools
nmake
8.配置
打开Conf\target.txt,以下是对于配置项的解释,配置相关的详细信息在Conf/tools_def.txt中
(1)ACTIVE_PLATFORM
编译目标,这里为EmulatorPkg/EmulatorPkg.dsc
(2)TARGET
编译目标版本,可以为DEBUG\RELEASE或者用户自定义
(3)TARGET_ARCH
运行平台
(4)TOOL_CHAIN_TAG
工具链,如果安装了VS2015,则设置为VS2015x86,如果安装了VS2019之后安装了VS2017生成工具,则设置为VS2017
9.编译EmulatorPkg
在edk2路径下打开命令行
edksetup.bat
build
编译结果在Build目录下可见
10.运行EmulatorPkg
运行Build\EmulatorIA32\DEBUG_VS2015x86\IA32\WinHost.exe,在shell下输入“fs0:”后回车就会转到WinHost.exe所在目录
11.编译OvmfPkg
修改Conf\target.txt,将 ACTIVE_PLATFORM
我所使用的NASM、PYTHON、IASL以及一些学习资料在百度网盘中:
链接:https://pan.baidu.com/s/17SnHc6zd0hH-q7YA70jMUg
提取码:v2de
[2020元旦礼物]《看雪论坛精华17》发布!(补齐之前所有遗漏版本)!
最后于 2天前 被昵称好麻烦编辑 ,原因: 添加内容
|
|
---|---|
|
本来开源的东西很多都编不过 因不挣钱 所以不负责 |
|
可以问一下你编译后打算做什么吗? |
|
ttwodoges 可以问一下你编译后打算做什么吗? 在看一本书《UEFI原理与编程》,学一下底层,写几个应用玩玩 |
|
TopC 本来开源的东西很多都编不过 因不挣钱 所以不负责 可是很多知名度挺高的项目,经常被人提起的,README里面也都描述得那么理所当然,我总怀疑是不是全世界就我一个人编译不过,为什么每次都要踩n多坑才能搞定 |
|
这个我倒是只去编译了一下,Linux下的环境会更容易编译成功,但是到后面就因为某些原因无法写程序自己编译,特指UDK2017还是UDK2018版本来着。Windows配置环境真的是噩梦呀 |
返回