Repolode
tianocore

tianocore/edk2

面向 UEFI 与 PI 规范的跨平台固件开发环境,涵盖 OVMF、EmulatorPkg 等平台。

Star
6,398
Fork
3,360
未关闭 Issue
1,461
最近提交
昨天

这是什么?

EDK II 是 TianoCore 项目维护的固件开发环境,面向 uefi.org 发布的 UEFI 与 PI 规范,提供构建系统、公共库和各类软件包,用于组装和测试 x86、ARM 等平台的固件。

仓库按软件包组织,包括 MdePkg、MdeModulePkg、面向虚拟机的 OvmfPkg、ArmVirtPkg 和 EmulatorPkg 等。持续集成覆盖 Windows 上的 Visual Studio 以及 Ubuntu 上的 GCC、Clang PDB 和 Clang DWARF 工具链,并按配置展示构建、测试与覆盖率状态。

贡献者需按开发者原创声明(DCO)要求添加 Signed-off-by 签名并提交补丁;OpenSSL、Brotli、libspdm 等上游组件以 git 子模块形式引入。

核心功能

  • 01以模块化软件包实现 UEFI 与 PI 固件的基础组件。
  • 02提供 OvmfPkg(虚拟机固件)、ArmVirtPkg(AArch64)等平台软件包。
  • 03包含 EmulatorPkg,可在主机上模拟运行固件。
  • 04支持 Visual Studio、GCC 以及 Clang(PDB 与 DWARF)工具链构建。
  • 05使用基于 Python 的工具与 CI 脚本验证构建和测试。

适用场景

  • 为基于 QEMU 的环境构建 OVMF 等虚拟机固件。
  • 开发或移植 ARM、x86 平台的 UEFI 固件。
  • 在硬件调试前,于模拟环境中测试固件改动。
  • 参与或学习开源 UEFI 参考实现。

使用前须知

  • 许可证未被清晰识别:大部分内容采用 BSD-2-Clause Plus Patent,但多个组件和子模块附带其他许可证。
  • 构建需要特定版本的 Python 及一系列构建工具,README 将其安装说明指向外部 wiki。

收录于专题

标签

常见问题

edk2 是什么?
面向 UEFI 与 PI 规范的跨平台固件开发环境,涵盖 OVMF、EmulatorPkg 等平台。 EDK II 是 TianoCore 项目维护的固件开发环境,面向 uefi.org 发布的 UEFI 与 PI 规范,提供构建系统、公共库和各类软件包,用于组装和测试 x86、ARM 等平台的固件。
edk2 可以免费使用吗?用的什么许可证?
edk2 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
edk2 还在维护吗?
活跃维护中。edk2 最近一次提交是在 2026年11月6日。
edk2 适合用来做什么?
为基于 QEMU 的环境构建 OVMF 等虚拟机固件。 开发或移植 ARM、x86 平台的 UEFI 固件。 在硬件调试前,于模拟环境中测试固件改动。 参与或学习开源 UEFI 参考实现。
在哪里获取 edk2?
源代码和安装说明在 GitHub 上:https://github.com/tianocore/edk2

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目