如何使用coreboot,SeaBIOS,GRUB和Linux内核启动x86系统?
我是x86的新手.我最近的任务是从裸机上将
Linux移植到Intel Atom C2000平台.我找到了opensource firmware / bios coreboot和seabios,但有很多东西对我来说不清楚.
(1)从x86系统引导程序调用固件/软件的顺序是什么? x86上电复位 – > coreboot – > SeaBIOS-> GRUB-> Linux内核? (2)如果我们使用mini-sata作为非易失性存储器,grub二进制文件和配置文件应该如何存储在mSATA,MBR中? (3)如何在文件系统或原始磁盘上存储linux内核initrd?我记得在PowerPC开发中,没有限制内核和ramdisk存储在flash中的位置,u-boot只需要地址来启动内核. 解决方法
这取决于.
您提出的使用seabios和grub的流程当然是可行的,但grub2也可以充当coreboot有效负载 – 在这种情况下它是coreboot-> grub-> Linux. 或者,如果您不估计一直在更改内核,或者如果您选择kexec(),则可以使用Linux in flash进行coreboot-> Linux. 假设您正在寻找涉及grub2的启动流程,让我们看看其他问题:使用seabios,grub2将存储在MBR和一些备用扇区中,例如PCBIOS.使用grub2作为有效负载,它存储在闪存中. 无论grub2驻留在哪里,其配置文件,Linux内核和initrd最好存储在文件系统中. grub2为几乎所有现代文件系统提供驱动程序,它是在操作系统中维护它们的最简单方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |