UEFI 直接引导内核简单配置 (EFIstub)

1. 介绍

  • EFI Boot Stub

    在 x86 或者 arm 平台下,压缩的内核(zImage/bzImage)可以伪装(masquerade)成为一个 PE/COFF 格式的可执行文件,也就是 UEFI 所能识别的可执行文件格式(尴尬的是,这正是windows下可执行文件的格式)。因此内核可以直接被 UEFI 固件所加载,并跳转到内核中被称为"EFI boot stub"的代码块,完成引导的过程,可以替代传统引导程序(如 grub/elilo)的基本功能。
    (更详细的细节介绍请参阅 kernel.org 的相关文档)

  • 其他

    本文测试环境:debian 8/9 (jessie/stretch)
    EFI 启动文件位置:/boot/efi/EFI/debian

    (以下命令均需 root 权限 ,请注意提升权限

2. 配置简述

2.1 配置一些 postinst 脚本

因为我们需要将内核复制到 EFI 启动分区中,即所谓的 ESP 分区(debian 下默认挂载为 /boot/efi),所以需要配置好内核的 postinst 脚本,这样每次内核更新,都可以自动复制新的内核相关文件到 EFI 分区中。

  • kernel

  • initramfs

2.2 设置权限

  • 设置权限并运行之

2.3 配置 EFI 引导项

  • 安装必要的组件

  • 配置 EFI boot entry

  • 查看现有引导项

3. 参考资料

EFIStub - Debian Wiki
https://www.kernel.org/doc/Documentation/efi-stub.txt

发表评论

电子邮件地址不会被公开。 必填项已用*标注