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

标签 linux-kernel operating-system uefi

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

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

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

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

最佳答案

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

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

关于linux-kernel - LinuxBoot 在固件阶段与 Coreboot 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53681838/

相关文章:

c - 在 linux 中添加系统调用时出现 'ímplicit declaration of function' 错误

c - 从用户层程序读取内核堆栈

Python:os.listdir 替代/某些扩展

linux - 如何从 UEFI 中删除 Ubuntu 条目

在 UEFI 中创建线程

linux - Linux 将进程内存从 RAM 交换到交换文件的确切条件是什么?

linux - `do_new_mount_fc()`如何挂载像ext4这样的真实文件系统?

javascript - JavaScript中如何确定操作系统路径分隔符(2)?

java - 是否有任何 JVM 通过自旋等待实现阻塞?

filesystems - 我可以使用 EFI 在本地文件系统上写入吗