Начальная загрузка в изображение ядра

:sp-----> для горизонтального разделения
:vs-----> для вертикального разделения
ctrl+ww-> для перемещения курсора через разделение экрана
:q------> для выхода, что конкретный, что конкретный экран

3
25.08.2014, 00:12
2 ответа

Это возможно, да. Вам нужно передать init=/bin/sh в ядро и вы должны помнить, что rootfs, скорее всего, будет смонтирован ro после этого.

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

2
27.01.2020, 21:23

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

make isoimage FDINITRD="$ROOTFS_PATH"

сгенерированная архитектура /x86/boot/image.iso уже является загрузочным, что можно проверить с помощью:

qemu-system-x86_64 arch/x86/boot/image.iso

То, что вам нужно , - это rootfs.cpio.gz , который является файл, содержащий корневую файловую систему, в которой будет работать ядро:

Если вы все еще хотите использовать GRUB, минимальная запись:

menuentry "main" {
    linux /boot/bzImage
    initrd /boot/rootfs.cpio.gz
}

где bzImage происходит из arch / x86 / boot / bzImage . Вы можете легко попробовать это с помощью grub-mkrescue и каталога , подобного этому .

1
27.01.2020, 21:23

Теги

Похожие вопросы