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 数据每日更新。
相关项目
在 Apple silicon Mac 上运行从 Tiger 10.4 到 Big Sur 11 的 Intel 版 macOS,并支持图形加速。
476+257 本周22CMIT更新于 4天前
在 Docker 容器中运行 Windows,支持自动下载并无人值守安装,可通过浏览器或 RDP 访问。
5.4万+217 本周5112ShellMIT维护活跃更新于 5天前
基于 QEMU 的封装工具,自动下载系统镜像并启动优化配置的 Windows、macOS 和 Linux 虚拟机。
1.7万+48 本周764ShellMIT更新于 9天前
一款 Mac 应用,在 Apple Silicon 上以深度集成 macOS 的虚拟机运行原版 Omarchy Linux 桌面。
2899+13 本周166SwiftMIT维护活跃更新于 12天前