Вам не нужен 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
и каталога , подобного этому .