[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: UEFI-Boot-CD erstellen



Hallo,

ich schrieb:

> bisher benutze ich folgenden Befehl, um aus einem Chroot-Verzeichnis ein
> auf BIOS-Systemen per Grub bootbares CD-Image zu erstellen:
>
> genisoimage -R -b boot/grub/i386-pc/eltorito.img -no-emul-boot \
> -boot-load-size 4 -boot-info-table -o ../cdrom.iso .
>
> Das eltorito.img stammt von dem ISO-Image grub-rescue-cdrom.iso aus dem
> Paket grub-rescue-pc.
>
> Nun würde ich gerne mit einem möglichst ähnlichen Befehl eine Boot-CD für
> UEFI-Systeme erstellen, am besten sogar eine CD, die Legacy-BIOS und UEFI
> beherrscht und je nach Hardware (mit oder ohne UEFI-Unterstützung) und
> Setup-Einstellungen (wird Legacy oder UEFI bevorzugt) des zu bootenden
> Rechners die passende Bootmethode auswählt. Weiß jemand, ob und wie sowas
> funktioniert?

Nach ein bisschen Experimentieren beantworte ich mal meine eigene Frage
und beschreibe außerdem genauer, wie meine Konfiguraton aussieht.
Vielleicht kann ja mal noch jemand anderes was damit anfangen.

Es sind nun folgende Grub-Pakete in der Chroot-Umgebung installiert:

grub-common
grub-efi-amd64-bin
grub-pc
grub-pc-bin
grub2
grub2-common

Innerhalb der Chroot-Umgebung habe ich die Verzeichnisse
/usr/lib/grub/i386-pc/ und /usr/lib/grub/x86_64-efi/ nach /boot/grub/
kopiert, es existieren also /boot/grub/i386-pc/ und /boot/grub/x86_64-efi/
.

Wie oben bereits angegeben, benutze ich zum Erzeugen der BIOS-Boot-CD aus
dem ISO-Image grub-rescue-cdrom.iso des Pakets grub-rescue-pc die Datei
eltorito.img, die ich nach ${CHROOT}/boot/grub/i386-pc/ kopiert habe. Da
Debian jessie leider kein entsprechendes Paket grub-rescue-efi-amd64
enthält, habe ich ein wenig nachgeforscht und festgestellt, dass es so ein
Paket in Ubuntu mal gab. Daher habe ich mir mal die jessie-Paket-Sourcen
von grub2 vorgenommen und durch einige naheliegende Änderungen die
Erzeugung des Pakets grub-rescue-efi-amd64 hinzugefügt. Aus dem in diesem
Paket enthaltenen grub-rescue-cdrom.iso habe ich dann die Datei efi.img
und das Verzeichnis System nach ${CHROOT}/ kopiert.

Dann habe ich wie folgt ein ISO-Image erzeugt, mit dem tatsächlich sowohl
der BIOS-Boot als auch der UEFI-Boot funktionieren:

root@sag:/dir/${CHROOT}# genisoimage -R -b boot/grub/i386-pc/eltorito.img \
-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot \
 -b efi.img -no-emul-boot -o ../image.iso .

Viele Grüße
  Christoph




Reply to: