我是x86的新手。我最近的任务是将linux移植到Intel Atom C2000平台上。我已经找到了开放源码固件/bios核心重新启动和海鸟,但有很多事情我不清楚。
(1)从x86系统引导程序调用固件/软件的顺序是什么?
重启的x86电源->核心重启->SeaBIOS->GRUB->Linux内核?
(2)如果我们使用mini-sata作为非易失性存储,grub二进制文件和配置文件应该如何存储在mSATA上、MBR或其他地方?
(3)如何将linux内核initrd存储在文件系统或原始磁盘上?我记得PowerPC开发中没有限制内核和ramdisk存储在闪存中的位置,u引导只是需要地址来启动内核。
发布于 2015-01-11 13:31:32
那得看情况。
当然,您建议的海鸟和grub流是可能的,但是grub2也可以充当coreboot负载--在这种情况下,它是coreboot->grub->Linux。
或者,如果您不估计总是更改内核,或者如果您使用kexec(),那么您可以使用Linux在flash中执行coreboot->Linux。
假设您要进行涉及grub2的引导流,那么让我们看看其他问题:使用grub2,grub2将存储在MBR和一些备用扇区中,比如PCBIOS。以grub2作为有效负载,它存储在flash中。
无论grub2驻留在哪里,它的配置文件、Linux内核和initrd都最好存储在文件系统中。grub2为几乎所有现代文件系统提供了驱动程序,这是在操作系统中维护它们的最简单方法。
https://stackoverflow.com/questions/27791895
复制相似问题