简体   繁体   中英

GRUB2 and a custom File System

Writing OS experiment from scratch and curious about Grub2 and my FS

I haven't tried very much with this just yet, at least not in practice. I've been reading about GRUB2 and how to set it up but am getting slightly lost. I apologize, I don't have any source code at the moment to offer you. I just wanted to know how to set up GRUB2 to use a File System that I have written from scratch myself.

Write a GRUB driver module for your FS, like how it has modules for XFS, ext2/3/4, and so on. https://wiki.osdev.org/Writing_GRUB_Modules


https://www.gnu.org/software/grub/manual/grub/grub.html#Images explains the different components of GRUB2. The filesystem driver is loaded as part of core.img , which is built from other images.

Keep in mind that many new filesystems don't get GRUB support right away, and having a separate /boot partition that GRUB can read is not rare. eg on a single disk instead of a complicated RAID (although GRUB does have some md support), not encrypted, and with a long-established filesystem that GRUB does have a driver for. And that doesn't need a complicated log replay on dirty shutdowns before even reading.

Also, the earliest stage of GRUB booting needs to load core.img from a block list that's hard-coded into the small first thing the firmware loads, so filesystems where the blocks of a file's data can move around when the file wasn't modified aren't usually a good fit for /boot at all. You'd never know when you had to re-install GRUB after any change to anything on /boot .


But if you still want to make your FS bootable in GRUB, check the GRUB source code, there's probably some documentation.

https://www.gnu.org/software/grub/grub-documentation.html

https://www.gnu.org/software/grub/grub-development.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM