Вопрос

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

kernel 200+KERNELSIZE
boot

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

Это было полезно?

Решение

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top