GRUB2 и пользовательская файловая система - PullRequest
0 голосов
/ 05 мая 2019

Написание эксперимента ОС с нуля и любопытство по поводу Grub2 и моей FS

Я пока не очень много пробовал с этим, по крайней мере, не на практике.Я читал о GRUB2 и о том, как его настроить, но немного теряюсь.Я прошу прощения, у меня нет исходного кода на данный момент, чтобы предложить вам.Я просто хотел узнать, как настроить GRUB2 для использования файловой системы, которую я написал с нуля.

1 Ответ

0 голосов
/ 05 мая 2019

Напишите модуль драйвера GRUB для вашей FS, например, как он имеет модули для 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 сразу, и имеют отдельный раздел /boot, которыйGRUB может читать не редко.например, на одном диске вместо сложного RAID (хотя GRUB имеет некоторую поддержку md), не зашифрованного и с давно установленной файловой системой, для которой у GRUB есть драйвер.И это не нуждается в сложном воспроизведении журнала при грязном завершении работы даже перед чтением.

Кроме того, на самой ранней стадии загрузки GRUB необходимо загрузить core.img из списка блоков, который жестко запрограммирован в небольшую первую вещь.Прошивка загружается, поэтому файловые системы, в которых блоки данных файла могут перемещаться, когда файл не был изменен, обычно вообще не подходят для /boot.Вы никогда не узнаете, когда вам пришлось бы переустанавливать GRUB после любых изменений чего-либо на /boot.


Но если вы все же хотите, чтобы ваша FS загружалась в GRUB, проверьте исходный код GRUB., вероятно, есть некоторая документация.

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

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

...