You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将iPXE嵌入基于EDK2的UEFI固件中?

操作可行性判定

将iPXE EFI应用内置到EDK2固件卷的操作完全可行,EDK2构建系统原生支持预编译二进制文件的打包流程。

具体实现步骤
  • 首先完成iPXE的AARCH64架构EFI二进制构建,验证ipxe.efi可在你的目标平台UEFI Shell下正常运行,排除架构不兼容、依赖缺失问题。
  • 在你的自定义平台包目录(一般路径为Platform/[厂商名]/[平台名]/)下新建专属目录存放iPXE二进制,或直接放入平台包的预置Binary目录。
  • 编辑平台对应的固件描述文件(后缀为.fdf,一般命名规则为[平台名]Platform.fdf),定位到你要存放EFI应用的FV段(通常为FVMAIN或自定义的应用存储FV),添加如下配置:
    INF RuleOverride=BINARY [iPXE文件所在的相对路径]/iPXE.inf
    
  • 编写对应的iPXE.inf描述文件,供EDK2构建系统识别该二进制文件的属性,示例配置如下:

    [Defines]
    INF_VERSION = 0x00010005
    BASE_NAME = iPXE
    FILE_GUID = 自行生成随机GUID,不可与FV内现有文件GUID重复
    MODULE_TYPE = UEFI_APPLICATION
    VERSION_STRING = 1.0

    [Binaries.AARCH64]
    UEFI_APPLICATION|ipxe.efi|*

  • 重新执行全固件构建流程,构建完成后iPXE就会被打包进指定FV。启动到UEFI Shell后可直接调用ipxe.efi运行,如需添加到启动管理器,可使用UEFI Shell的bcfg命令配置,或在DXE阶段调用启动项相关接口直接写入UEFI变量。
官方说明文档查阅路径

所有相关规则都可以在EDK2源码自带的文档中找到:

  • EDK2源码根目录下Docs/FdfSpecification.pdf:完整定义了FDF文件语法、二进制文件打包进FV的全部规则
  • EDK2源码MdeModulePkg/Application/HelloWorld目录下的配置示例:可以参考官方UEFI应用的打包配置逻辑

内容的提问来源于stack exchange,提问作者Konstantin Klubnichkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:06:03