问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

UEFI 原理与编程 1 - UEFI开发环境EDK2搭建

发布网友 发布时间:2024-08-24 18:07

我来回答

1个回答

热心网友 时间:2024-08-24 19:36

之前尝试在物理机Win10上安装并搭建开发环境,但经过一天的尝试,包括尝试使用wsl,最终都以失败告终。这次我决定直接在Win7虚拟机上进行安装。

接下来是安装开发工具的步骤。

首先,安装VS 2015(也可以安装VS2017,但个人感觉VS2015文件较小),或者VS2019(但需要注意的是,VS2019在2018的EDK2中不受支持,尽管2019的EDK有所支持,但网络上的教程并不对应)。微软将官方的下载链接隐藏得很深,可以参考这篇文章cnblogs.com/yilezhu/p/...。在安装之前,可能需要安装Microsoft .NET Framework 4.6.1。

其次,安装Python2.7(python.org/downloads/re...),并新建环境变量PYTHON_HOME,其值为C:\Python27\。

然后,下载IASL编译器(acpica.org/downloads/bi...)。

接着,下载NASM(nasm.us/...),将其路径添加到环境变量PATH中,并设置NASM_PREFIX=C:\UEFI\nasm\(如果不设置NASM_PREFIX,也会报warning,但如果不正确设置,则需要删除udk2文件夹重新开始)。

下载 Openssl(wiki.overbyte.eu/arch/o....),将其路径添加到环境变量PATH中。

下载edk2开发包,解压:codeload.github.com/tia...。此时在根目录下应有以下文件。

生成OPENSSL加密库。从https://github.com/openssl/openssl/archive/OpenSSL_1_1_0g.zip下载,下载后解压到edk2\CryptoPkg\Library\OpensslLib中,并重命名为openssl。

预搭建base tools。从https://github.com/tianocore/edk2-BaseTools-win32并解压到edk2\BaseTools\Bin,重命名为Win32。注意,如果忽略此步,会在接下来的搭建中遇到报错环境变量PYTHON_HOME的问题。

配置EDK2开发环境:进入edk2目录,执行.\edk2\.\edksetup.bat。之后,在Conf目录下会建立target.txt等文件。

编辑target.txt,将第60行修改为TOOL_CHAIN_TAG = VS2015,并检查tools_def.txt,确保编译器路径正确。

编译UEFI模拟器和UEFI工程:首先编译UEFI模拟器,执行.\edksetup.bat rebuild,然后执行.\edksetup.bat --nt32 3 build。如果出现脚本去C:\Program Files\下找Windows Kits的情况,但一般Windows Kits在C:\Program Files(x86)\下,可以以管理员身份在C:\Program Files\下执行mklink /j "Windows Kits" "C:\Program Files(x86)\Windows Kits",创建一个软链接。

最后,执行1 build run。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
一拳一拳打峰哥是什么歌_一拳一拳打峰哥歌曲介绍 网上办理这个准生证然后没有领取不知道点到哪了然后就没法再领取 绿油油的叠词是什么? 什么的小溪叠词填空 硅胶礼品特性 华东理工大学长江学院是一本吗 东华理工大学长江学院是公办还是民办大学 东华理工大学长江学院是一所... 模压硅胶制品如何成型的 东北理工大学长江学院是公办还是民办 东华理工大学长江学院是几本大学 【Kotlin】Kotlin环境搭建 C++入门编程——环境搭建(1) 快速搭建Linux开发环境助你编程事半功倍开发环境linux phpMyAdmin 渗透利用总结 【网络安全】SQL 注入新思维之 webshell 提权 2024年3月份风车IM即时通讯系统APP源码DJ版 附带完整苹果安卓视频教程... “国家中小学智慧教育平台”怎么使用? 不记得iPhone 解锁密码怎么办?试试这4个方法 苹果手机忘记密码怎样才能解锁? 忘了iphone的密码怎么办 ubuntu服务器使用netplan管理工具添加静态地址 ubantu20.04 设置桥接模式+配置静态ip+配置动态ip Linux命令行设置网络代理 Linux环境代理设置(pip,wget等) phpMyAdmin安装图文教程 怎么删除这两个应用。。。软件管理里面都没有这两个应用 iPhone手机桌面图标删不掉怎么办? 网络ping不通的故障原因汇总讲解 从0开始部署阿里云服务器(萌新必看) docker 安装 oracle nodejs是前端还是后端 配置CentOS 7通过MSTSC连接远程桌面 Cent Browser:最好用的Chromium加壳浏览器 什么高级浏览器比较好用? 我想自制BJD娃鞋那一般是用哪种材料制作鞋底的呢最好淘宝上能买到的嗯... php外包公司是什么意思? 什么是科教融汇? 阿里云服务器部署搭建流程详解 ...器如何购买?购买之后如何使用阿里云服务器搭建网站与部署环境_百 ... 阿里云国际版云虚拟主机搭建网站的步骤详解 我已经16岁了,家长还要管控我手机,只有微信晚上能玩10分钟,其余与学习... 应大投资集团集团领导 应泽从人物生平 手机连接惠普打印机方法有几种? 意大利托斯卡纳皮料 ...没有一点缝接,说是进口嫩兔皮,也比较轻请问是皮草獭兔毛吗?_百度知 ... Win10系统hyper-v虚拟机如何关闭? Linux CentOS7下载实操 使用vmware安装centos7图文全记录 Centos7安装教程 -- 2024(超详细)