mkisofs-Fehler – Boot-Image … efibot.img hat keine zulässige Größe

mkisofs-Fehler – Boot-Image … efibot.img hat keine zulässige Größe

Ich versuche, von einer Rhel-8-Installationsdiskette ein benutzerdefiniertes ISO zu erstellen, das entweder auf einem BIOS- oder einem EFI-Server booten kann. Alles läuft gut, bis ich versuche, das ISO zu erstellen. Wenn ich den folgenden Befehl ausführe:

mkisofs -J -R -T -V "NGS-8.4-0 Server" \
    -o ngs-8.4-0.iso \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    --no-emul-boot \
    --boot-load-size 4 \
    --boot-info-table \
    --eltorito-alt-boot \
    -e images/efiboot.img \
    -m TRANS.TBL \
    ngs-dvd

Ich erhalte die folgende Ausgabe:

Creating NGS iso...I: -input-charset not specified, using iso-8859-1 (detected in locale settings)

(bunch of TRANS.TBL output deleted)

Size of boot image is 4 sectors -> No emulation
Size of boot image is 19612 sectors -> genisoimage: Error - boot image '/NGS/ngs-dvd/images/efiboot.img' has not an allowable size.

Wenn ich jedoch zwei Optionen ( --eltorito-alt-boot& -e images/efiboot.img) lösche, wird ein bootfähiges ISO erstellt. Was mache ich falsch?

Antwort1

Es scheint, dass ich die -no-emul-bootOption zweimal brauchte. Einmal für jedes Boot-Image (BIOS und EFI). Die endgültige funktionierende Konfiguration war:

/usr/bin/mkisofs -J -R -T -V "NGS-8.4-0 Server" \
    -o ngs-8.4-0.iso \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -eltorito-alt-boot \
    -e images/efiboot.img \
    -no-emul-boot \
    -m TRANS.TBL \
    ngs-dvd

Antwort2

Aus der Manpage:

-eltorito-alt-boot Beginnen mitein neues Setdes Stiefels El ToritoParameter. Auf einer einzigen CD können bis zu 63 El Torito-Booteinträge gespeichert werden.

-no-emul-bootDie Feststellung in Ihrer Antwort, dass Sie es danach erneut hinzufügen müssen, -eltorito-alt-bootbedeutet also, dass das hinzugefügte EFI-Image -eauch -no-emul-bootordnungsgemäß funktionieren muss und da es der nächste El Torito-Eintrag ist und mit einem neuen Parametersatz beginnt, müssen die benötigten Parameter erneut explizit aufgelistet werden.

Aus der Frage:

Wenn ich jedoch zwei Optionen lösche (--eltorito-alt-boot & -e images/efiboot.img), wird ein bootfähiges ISO erstellt.

Ich habe es anfangs auch so gemacht, es wurde ein ISO erstellt, das nur zum Legacy-Boot führte (kein EFI, -efügt einen Teil hinzu, der später zur EFI-Partition auf USB wird).

Übrigens, vor dem Schreiben auf USB isohybrid --uefi new.isoist ein Befehl erforderlich.

Es scheint gute verwandte Beiträge und Diskussionen zu gebenAnatomie eines Fedora 17 ISO-Images, ich habe noch nicht alles gelesen.

PS: Warum viele andere Optionen kritisch sind (z. B. scheint keine Größe außer 4 zu funktionieren), konnte ich (bis jetzt) ​​nicht herausfinden. -eDie Option scheint in den Manpages auf meinem System zu fehlen, funktioniert aber.https://wiki.osdev.org/Mkisofs:

-e ISOPATH gibt eine Datendatei als El Torito-Bootimage für EFI an. Dies ist keine Option des ursprünglichen mkisofs, wird aber von einigen Varianten von genisoimage und von xorriso -as mkisofs verstanden.

verwandte Informationen