主要观点:UKIs 可在 UEFI 系统上运行并简化小内核镜像的分发,如简化 iPXE 网络启动等,使其根文件系统和内核可组合。
关键信息:
- UKI 是 UEFI 启动存根程序、Linux 内核镜像、initramfs 及其他资源在单个 UEFI PE 文件中的组合。
- 编译 Linux 内核需配置
CONFIG_EFI_STUB=y
,不同架构文件名不同。 - 可使用
ukify
创建 UKI,还需编译 systemd efi stub 作为引导加载器放入 UKI 中。 - UKI 有特定
PE
文件布局,需用objcopy
等操作填充各节。
重要细节: - 找到 Arch Linux 仓库中的预编译内核并验证其为 PE 可执行文件。
- 通过
qemu-system-x86_64
进行测试,可直接从 UEFI 启动 Linux 但因无根文件系统而崩溃。 - 详细介绍了填充 UKI 各节的操作及测试步骤,最后创建了包含内核等内容的单个 UKI 文件,可在相同架构的 UEFI 兼容 BIOS 上轻松分发和启动,还可让 U-Boot 或 iPXE 等在更多环境中启动它,后续将介绍如何对 UKI 进行签名以支持安全启动。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。