Firmware

什麼是核心引導?

  • February 10, 2019

我讀到它是關於更換板上的韌體,但他們為什麼需要這樣做,這是否會影響在板上安裝其他作業系統的能力?

維基百科頁面所述:

coreboot,以前稱為 LinuxBIOS,是一個軟體項目,旨在將大多數電腦中的專有韌體(BIOS 或 UEFI)替換為輕量級韌體,旨在僅執行載入和執行現代 32 位或 64 位系統所需的最少任務位作業系統。

從本質上講,它是一項旨在“開放”和簡化現代電腦韌體級別的舉措。我相信盡可能多的是免費軟體;但是,它需要二進制 blob 才能在某些硬體設備上執行。Libreboot是一個完全去斑點的 Coreboot 版本,因此是 100% 的免費軟體。但是,正因為如此,Libreboot 只能在限制性更強的硬體子集上執行。

為什麼有人要使用 Coreboot?我能想到幾個原因:

如果他們有興趣參與 PC 韌體開發,那麼他們可能希望將其專有韌體切換為 Coreboot,因為它是開源的。這樣(通常類似於 GNU/Linux),他們可以在程式碼中四處尋找並嘗試了解它是如何工作的。因此,從教育的角度來看,這可能是件好事。

如果有人關心免費軟體,出於這個原因,他們可能更喜歡使用 Coreboot 或 Libreboot。如果您的韌體中有二進制 blob,您不知道它們包含什麼 - 理論上它們可能包含可能損害您的隱私/安全的程式碼。自由軟體基金會僅認可使用 Libreboot 韌體執行的系統。

我能想到的另一件事是,如果有人正在開發新設備,那麼將 Coreboot 移植到它可能會比從頭開始編寫自己的韌體或必須為專有韌體付費更簡單。Coreboot 非常精簡、快速和高效,因為它只包含啟動和執行系統所需的最少程式碼。值得注意的是,Coreboot 本身並不提供任何 BIOS 或 UEFI 服務——它只是初始化硬體,然後將控制權交給其他東西。因此,如果作業系統需要任何這些服務,則必須由有效負載(如下所述)提供。

它會影響安裝其他作業系統的能力嗎?

首先,主機板上通常不安裝主操作系​​統(除非您談論的是嵌入式系統)。通常,它安裝在外部儲存設備(即硬碟)上。因此,只要 Coreboot 可以設置足夠的基本環境以能夠訪問儲存設備並呼叫主作業系統,我認為理論上沒有任何理由讓它無法啟動任何作業系統。有幾個有效載荷可用於幫助促進這一點。有效負載基本上是內置在韌體中的引導載入程序,而不是儲存在外部儲存中。例如,GRUB 可以作為有效負載內置到 Coreboot 中,它當然能夠引導 Linux 和 Windows。我不確定是否有可以啟動 MacOS 的有效負載選項,但如果有的話我不會感到驚訝。

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