LinuxBoot 在固件阶段与 Coreboot 有何不同?

Ins*_*der 7 operating-system linux-kernel uefi

我对使用 LinuxBoot 作为 Coreboot 的有效负载的用例感到困惑。

我了解到LinuxBoot 可以完全替代UEFI 的DXE 和BDS 阶段,然后可以直接加载引导程序(比如GRUB)甚至Linux 内核。

现在,我还了解到 LinuxBoot 可以用作 Coreboot 的有效负载。

如果 LinuxBoot 可以做从平台初始化到加载内核的所有事情,那为什么有人还要把 Coreboot 放在序列中呢?简单地说,为什么存在使用 LinuxBoot 作为 Coreboot 的有效载荷的用例?Coreboot 将扮演什么角色?

Elo*_*loy 7

UEFI 由多个阶段组成:SEC、PEI 和 DXE。LinuxBoot 取代了 DXE 阶段,Coreboot 取代了 SEC 和 PEI 阶段。

Coreboot 负责 Linux 无法完成的平台初始化,例如 DRAM 初始化(也称为“训练”)和 ACPI 表生成。Linux 然后作为 Coreboot 有效负载工作,它执行诸如 PCI 设备枚举之类的操作,并将引导加载程序加载kexec()到另一个 Linux 内核中。