当然可以,以下是关于 EDK II(UEFI 开发套件)源码下载与环境搭建 的完整实战教程,适用于 Windows 和 Linux 系统下的开发者环境配置与快速上手。
🧩 EDK II 源码下载及环境搭建教程【适配 Windows/Linux】
📌 一、EDK II 简介
- 全称:UEFI Development Kit II
- 项目地址:https://github.com/tianocore/edk2
- 作用:是 UEFI BIOS 开发的标准开源平台
- 特点:
- 支持多种 CPU 架构(x86, x64, ARM)
- 可构建独立的 UEFI 应用、驱动、固件镜像
- 官方由 Intel 主导,社区活跃
🛠 二、开发环境准备
✅ Windows 环境(推荐使用 Visual Studio + NASM)
1. 安装依赖工具
工具 | 下载地址 |
---|---|
Python 3.x | https://www.python.org/downloads/ |
NASM 编译器 | https://www.nasm.us/pub/nasm/releasebuilds/ |
Visual Studio(建议 2019/2022) | https://visualstudio.microsoft.com/ |
Git | https://git-scm.com/ |
⚠ 安装 Python 后建议添加到系统环境变量
🧾 三、EDK II 源码下载
方式一:使用 Git 克隆(推荐)
git clone https://github.com/tianocore/edk2.git
方式二:下载 ZIP 压缩包
- 访问:https://github.com/tianocore/edk2
- 点击绿色按钮 “Code” → “Download ZIP”
- 解压后进入
edk2/
目录
🧱 四、设置 EDK2 环境变量(Windows)
1️⃣ 安装 Python 后安装 edk2
依赖工具:
pip install --upgrade pip
pip install -r edk2/BaseTools/Requirements.txt
2️⃣ 编译 BaseTools(第一次使用必做)
cd edk2
make -C BaseTools
如果在 Windows 中使用:
cd edk2
BaseTools\Build.bat
⚙️ 五、配置 EDK II 编译环境
1️⃣ 设置环境变量
可手动创建一个批处理脚本(如 edksetup.bat
):
@echo off
cd /d D:\Projects\edk2
call edksetup.bat
或者执行以下命令初始化:
cd edk2
edksetup.bat Rebuild
2️⃣ 创建工作空间结构
EDK II 的推荐目录结构:
EDK2/
├── BaseTools/ ← 编译工具
├── MdePkg/ ← 最基础库
├── ShellPkg/ ← UEFI Shell 应用
├── Conf/ ← 编译配置目录(自动生成)
├── AppPkg/ ← 你自己的应用/驱动
🔨 六、构建一个 UEFI 示例程序
示例构建:
build -p MdeModulePkg/MdeModulePkg.dsc -a X64 -t VS2022 -b DEBUG
参数说明:
参数 | 含义 |
---|---|
-p | 指定平台描述文件(DSC) |
-a | 指定目标架构,如 IA32、X64、ARM |
-t | 指定工具链,如 VS2022、GCC5 |
-b | 指定构建模式(DEBUG / RELEASE) |
🧪 七、运行方式(建议使用 QEMU 虚拟机)
安装 QEMU 后使用以下命令运行:
qemu-system-x86_64 -bios Build/OvmfX64/DEBUG_GCC5/FV/OVMF.fd
或者使用 UEFI Shell + EFI 程序运行:
qemu-system-x86_64 -drive file=fat:rw:./MyShellApp,format=raw
🧰 八、Linux 环境配置简述(适合高级用户)
安装依赖:
sudo apt update
sudo apt install build-essential uuid-dev iasl git nasm python3
其余步骤和 Windows 类似,使用 GCC 工具链:
make -C BaseTools
source edksetup.sh
build -a X64 -t GCC5 -p MdeModulePkg/MdeModulePkg.dsc
📦 九、常见问题与解决
问题 | 解决办法 |
---|---|
找不到 build 命令 | 请确认是否成功执行 make -C BaseTools |
编译报错找不到工具链 | 检查是否正确指定 -t 以及 Visual Studio 安装路径 |
Python 错误 | 检查版本,推荐 Python 3.7+ 且已安装 Requirements.txt 中的依赖 |
📚 十、参考资料与文档
✅ 结语
EDK II 是 UEFI BIOS 开发的核心工具,掌握其环境配置和构建流程,是进入底层固件开发的重要一步。
发表回复