Включение GRUB для автоматической загрузки из ядра - PullRequest
13 голосов
/ 19 октября 2008

Я занимаюсь разработкой ядра для операционной системы. Чтобы выполнить его, я решил использовать GRUB. В настоящее время у меня есть скрипт, присоединенный к GRUB stage1, stage2, файл пэда и само ядро ​​вместе, что делает его загрузочным. Единственная проблема заключается в том, что когда я запускаю его, вы должны сообщить GRUB, где находится ядро ​​и насколько оно велико вручную, а затем загрузить его, как показано ниже:

kernel 200+KERNELSIZE
boot

KERNELSIZE - размер ядра в блоках. Это хорошо для начала, но возможно ли получить эти значения в двоичном файле и заставить GRUB автоматически загружать ядро? Любые предложения о том, как этого добиться?

Ответы [ 2 ]

3 голосов
/ 20 октября 2008

http://www.gnu.org/software/grub/manual/grub.html#Embedded-data дает некоторую общую информацию о хранении списка блокировки в GRUB. Наиболее важно, что упоминается, что списки блокировки хранятся в четко определенных местах на stage2.

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

2 голосов
/ 20 октября 2008

Я думаю, вы могли бы просто создать свой собственный файл conf menu.lst, загрузить его в оболочку grub с помощью «configfile /path/to/menu.lst» и затем выполнить «setup (hd0)», заменяя значения по мере необходимости. Я просто догадываюсь, что ... не говорю, в чем различия в вашей пользовательской настройке.

...