[UEFI开发] Linux Ubuntu EDK2环境搭建


如果有误,希望能在评论区指出。文章语法上的问题也可以。

UEFI是什么?

很多同学都对 UEFI 有一个误解,“ UEFI就是 BIOS 和传统 BIOS 几乎无区别” ,“ UEFI 是系统引导方式”。
UEFI 全称 Unified Extensible Firmware Interface (统一可扩展固件接口),UEFI在功能上更接近于操作系统,甚至 NVMe 组织将 UEFI 和诸如 Windos 、 Linux 等操作系统划为一“类”。厂商将其称为 “BIOS” 是为了便于用户理解。

开发系统环境的选择——Linux

这里笔者推荐使用Linux,主要理由如下

1.微软Windows环境搭建较麻烦,如果是EDK不支持的VS版本需要手动配置很多环境变量,EDK 2(一个全面的UEFI开发环境,相较于其他EFI环境,最亮的特点就是支持ARM平台)更新适配Windows过慢;
2.Windows支持的GNU工具很多都是老掉牙的版本[待证实];
3.Linux基础工具安装便捷;
4.Linux下EDK 2的问题更易于排除。

以Ubuntu-21.10为例:
虚拟机寻址会受到限制,由虚拟机平台提供相应的优化,例如VMware只提供给我们256MB自由发挥。UEFI 标准规定的2GB以后的空间载入系统加载器,256MB远远不足我们使用来开发标准UEFI程序。所属 Windows 的 UEFI 程序并未按照UEFI规范编写,因为 Windows 支持仅有2GB的设备。
写这篇文章的原因:
1.市面上的教程都不是最新版本的,在实践过程中会难免有不同,甚至是不适用。(本文章作于2021年末 2022年初)
2.多数问题的排除与解决较难
3.国内相关文章是有,不过他们不是复制的就是抄书,基本上对于GCC11环境无助
4.写这篇文章的主要目的还是希望能帮助其他人输入build就能看见Done(EDK 2编译成功的标准)

最好是在实体机上进行测试参考文章

正文

安装工具

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值