簡體   English   中英

如何使用coreboot,SeaBIOS,GRUB和Linux內核啟動x86系統?

[英]How to bring up x86 system by using coreboot, SeaBIOS, GRUB and the Linux kernel?

我是x86的新手。 我最近的任務是將Linux從裸機移植到Intel Atom C2000平台。 我已經找到了開源固件/ bios coreboot和seabios,但是對我來說還有很多不清楚的地方。

(1)從x86系統引導程序調用固件/軟件的順序是什么?

x86開機重置-> coreboot-> SeaBIOS-> GRUB-> Linux內核?

(2)如果我們將mini-sata用作非易失性存儲,則應如何將grub二進制文件和配置文件存儲在mSATA,MBR或其他內容中?

(3)如何將Linux內核initrd存儲在文件系統中或原始磁盤上? 我從PowerPC開發中回想起,內核和ramdisk在閃存中的存儲位置沒有任何限制,u-boot只需要地址即可啟動內核。

這取決於。

您建議的使用seabios和grub的流程當然是可能的,但是grub2也可以充當coreboot負載-在這種情況下,它是coreboot-> grub-> Linux。

或者,如果您不總是估計要更改內核,或者如果您選擇使用kexec(),則可以使用Linux在Flash中進行coreboot-> Linux。

假設您要使用涉及grub2的引導流,讓我們看一下其他問題:使用seabios,grub2將存儲在MBR和某些備用扇區中,例如PCBIOS。 使用grub2作為有效負載,它存儲在閃存中。

無論grub2駐留在哪里,最好將其配置文件,Linux內核和initrd存儲在文件系統中。 grub2為幾乎所有現代文件系統提供驅動程序,這是從OS內部維護它們的最簡單方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM