Ich habe eine einfache, manuell erstellte grub.cfg
Datei, die ich lade grub-mkimage
und dann in ein El-Torito-Image auf einem ISO9660-ISO einbaue.
Es bootet zwar alles, die Kernel-Optionen werden jedoch komplett ignoriert.
Mein grub.cfg
:
set default=0
set timeout=10
set gfxmode=auto
insmod efi_gop
insmod efi_uda
menuentry "MyOS" {
search.fs_label SOMELABEL root
set gfxpayload=keep
linux /boot/vmlinuz quiet
initrd /boot/initrd
}
Oben ist ein einzelner Eintrag im Grub-Bootmenü zu sehen. Wenn ich ihn bearbeite, sehe ich die korrekte Konfiguration. Aber sie wird definitiv nicht an den Kernel e
weitergegeben .quiet
Das Bild:
grub-mkimage -O x86_64-efi -o EFI/BOOT/BOOTX64.EFI --config=boot/grub/grub.cfg --compression=xz disk part_msdos part_gpt linux loopback normal configfile search search_label true iso9660 efi_uga efi_gop gfxterm gfxmenu gfxterm_menu fat ls cat tar
Und der EFI-Boot:
dd if=/dev/zero of=efiboot.img bs=4k count=1000
mkfs.vfat efiboot.img
mount efiboot.img /mnt
cp -r EFI/ /mnt
unmount /mnt
Und das ISO (ignorieren Sie die MBR-Zeilen):
xorriso -as mkisofs -l -J -R -V SOMELABEL \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-ishybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
-eltorito-alt-boot -e efiboot.img -no-emul-boot -isohybrid-gpt-basdat \
-o some_output.iso .
Alles oben genannte im Wesentlichen:https://gist.github.com/deitch/260bb94ecf7932cb83bdf7024099fdb5
BEARBEITEN: Ja, ich habe die Grub-Shell aufgerufen c
und versucht, die Eigenschaften manuell einzugeben. Kein Glück.