从头开始编写操作系统实验,并对Grub2和我的FS感到好奇
到目前为止,我还没有做太多尝试,至少在实践中没有。我一直在阅读有关GRUB2以及如何设置它的信息,但略有迷失。抱歉,我目前没有任何源代码可以提供给您。我只是想知道如何设置GRUB2以使用我自己重新编写的文件系统。
答案 0 :(得分:0)
为您的FS编写GRUB驱动程序模块,例如它具有XFS,ext2 / 3/4等模块的方式。 https://wiki.osdev.org/Writing_GRUB_Modules
https://www.gnu.org/software/grub/manual/grub/grub.html#Images解释了GRUB2的不同组成部分。文件系统驱动程序作为core.img
的一部分加载的,该文件是从其他映像构建的。
请记住,许多新文件系统没有立即获得GRUB支持,并且拥有GRUB 可以读取的单独的/boot
分区并不罕见。例如而不是复杂的RAID(尽管GRUB确实有一些md支持),而不是加密的,并且具有很长的文件系统,而GRUB确实有驱动程序。而且,即使在读取之前,也不需要复杂的关机就可以进行复杂的日志重播。
此外,GRUB引导的最早阶段需要从块列表中加载core.img
,该列表被硬编码到固件加载的第一个小东西中,因此,文件系统可以在文件系统中移动文件数据块未修改文件通常根本不适合/boot
。在/boot
上进行任何更改之后,您将永远不知道何时必须重新安装GRUB。
但是,如果您仍然想使您的FS在GRUB中可启动,请查看GRUB源代码,可能有一些文档。