Boot

COREBOOT和SEABIOS是什麼關係

  • January 13, 2021

我有興趣投資支持 libreboot 的硬體,並且我知道它是 coreboot 的一個分支,刪除了韌體 blob,但是我不明白 seabios 是什麼。

我做了一些研究,但是找不到關於 seabios 在這一切中的確切位置的資訊(據我所知)。已經解釋過 seabios 是一個有效負載,但是作業系統核心(比如 Linux)可以改為“有效負載”。我在嘗試調整 Chromebook、qemu 和 Purism 的產品時看到提到 seabios,但據我了解;使用 coreboot 時不需要 seabios。

seabios 是在更高級別(正如“有效載荷”一詞所暗示的那樣)還是在較低級別(正如“seabios”這個名稱本身所暗示的那樣)。

我猜它類似於 Linux 中的開源影片驅動程序堆棧,其中你有 GPU 韌體 > 核心驅動程序 > 使用者空間驅動程序/API 層(如檯面、SDL、…),然後是應用程序。

據我了解,Coreboot/Libreboot 是硬體初始化程序,而 Seabios 將是載入引導載入程序(GRUB 或 ISOLINUX)的東西,它從那裡開始,但我仍然不清楚細節。

我已經全職使用 GNU/Linux 十多年了,但是我的知識超出了 systemd 和 GRUB 腳本。直到現在從未研究過自由 BIOS/UEFI 替代方案。

我非常感謝在承諾購買硬體之前對此進行澄清(即使支持的硬體列表非常有限)!

我不知道您在尋找什麼樣的複雜答案,這是我的簡單但冗長且軼事的嘗試:

消費者長期以來一直在使用IBM PC 複製。這些有一個用於平台初始化的韌體,稱為 BIOS,它在某些時候被逆向工程,以便 IBM 以外的其他製造商可以開始生產兼容的機器。其他電腦系統使用不同的韌體,例如Itanium,EFI 是在此開發的,後來成為配備 Intel 處理器 (TianoCore) 的 Mac 和 PC 的新標準。Coreboot,最初命名為 LinuxBIOS,是一種嘗試刪除大部分或所有可能的專有程式碼來引導 Linux 核心,這是最初的目標。當時項目的某些成員認為,支持機制會更靈活,而不僅僅是載入 Linux 核心。用 Coreboot 替換電腦的原始韌體似乎很困難,即使在 Linux 使用者中也是如此,如果你成功了,你將被困在只啟動 Linux 上。在 Coreboot 上執行 Windows 可能不是大多數人的想法,但它有它的利基. 一個更好的例子是更熟悉 BSD 的使用者。當然還有更多:Minix、Haiku 等等。如果您想啟動其中任何一個,您必須選擇一個“有效負載”,它提供這些作業系統所期望的介面。

進一步閱讀和材料:

我不是韌體工程師,我不工作或參與任何這些項目。我只是一個擁有十多年 Linux 經驗的人。

如果您想詢問工程師,您可以在 Reddit 上詢問 MrChromebook 或在相應的郵件列表中詢問。

引用自:https://unix.stackexchange.com/questions/591152