[opensuse-autoinstall] Create an UEFI-Bootable ISO-Image
Hello, I try to create a UEFI-Bootable Iso-Image. The "normal" Iso is working fine, but on a UEFI-Only machine the burned DVD is not found. But how do I generate a UEFI Iso-Image on Leap? genisoimage seems to lack the parameter --eltorito-boot Regards Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
On Oct 4, 2017, at 9:33 AM, Daniel Spannbauer <ds@marco.de> wrote:
Hello,
I try to create a UEFI-Bootable Iso-Image.
The "normal" Iso is working fine, but on a UEFI-Only machine the burned DVD is not found.
But how do I generate a UEFI Iso-Image on Leap? genisoimage seems to lack the parameter --eltorito-boot
You need to use mkisofs (the original one by Joerg Schilling) instead of genisoimage; it’s in the Leap OSS repos (but sadly not in SLES, although you can grab it from OBS and/or rebuild the .src.rpm). Here’s how I invoke mkisofs to create an image bootable from both BIOS and UEFI : ==== BOOTOPTS="-b boot/x86_64/loader/isolinux.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table" # EFI boot support -- requires the official mkisofs by Joerg Schilling. # Some versions of genisoimage (e.g. RedHat/Debian) support this with different # options (via a local patch, not included in upstream), but not the SUSE one. if mkisofs --version | grep -q Schilling; then ALTBOOT="-eltorito-alt-boot -eltorito-platform efi \ -no-emul-boot -boot-load-size 1 -b boot/x86_64/efi" else ALTBOOT="" echo "Warning: disabling EFI support (not supported by this mkisofs)!" echo "Continuing in 5 seconds..." sleep 5 fi mkisofs $VERBOSE -o $OUTPUT -V "$VOL_ID" -R \ $BOOTOPTS $ALTBOOT -graft-points \ -x $SRC/boot/x86_64/loader/isolinux.cfg \ -x $SRC/boot/x86_64/loader/gfxboot.cfg \ -x $SRC/boot/x86_64/loader/isolinux.bin \ -x $SRC/EFI/BOOT/grub.cfg \ -x $SRC/boot/x86_64/vmlinuz-xen \ -x $SRC/boot/x86_64/initrd-xen \ boot/=$SRC/boot EFI/=$SRC/EFI \ boot/x86_64/vmlinuz-xen=$SRC/boot/x86_64/loader/linux \ boot/x86_64/initrd-xen=$SRC/boot/x86_64/loader/initrd \ $CDROOT \ $SRC/content $SRC/content.asc $SRC/license.tar.gz $SRC/control.xml ==== ($SRC is the path to the mounted DVD iso; I copy my own versions of isolinux.cfg/gfxboot.cfg (BIOS) and grub.cfg (UEFI) under $CDROOT/boot/x86_64/loader and $CDROOT/EFI/BOOT, respectively. The Xen stuff is for space saving, replicating what’s done on the official DVDs for 42.2/SLE12SP2 and newer, where the Xen kernel/initrd are hard links to the default kernel/initrd; for prior versions, they were different kernels.) Andrew Daugherity Senior Systems Administrator Division of Research, Texas A&M University
Am 10/05/2017 um 02:11 AM schrieb Andrew Daugherity:
On Oct 4, 2017, at 9:33 AM, Daniel Spannbauer <ds@marco.de> wrote:
Hello,
I try to create a UEFI-Bootable Iso-Image.
The "normal" Iso is working fine, but on a UEFI-Only machine the burned DVD is not found.
But how do I generate a UEFI Iso-Image on Leap? genisoimage seems to lack the parameter --eltorito-boot
You need to use mkisofs (the original one by Joerg Schilling) instead of genisoimage; it’s in the Leap OSS repos (but sadly not in SLES, although you can grab it from OBS and/or rebuild the .src.rpm).
Here’s how I invoke mkisofs to create an image bootable from both BIOS and UEFI : ==== BOOTOPTS="-b boot/x86_64/loader/isolinux.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table"
# EFI boot support -- requires the official mkisofs by Joerg Schilling. # Some versions of genisoimage (e.g. RedHat/Debian) support this with different # options (via a local patch, not included in upstream), but not the SUSE one. if mkisofs --version | grep -q Schilling; then ALTBOOT="-eltorito-alt-boot -eltorito-platform efi \ -no-emul-boot -boot-load-size 1 -b boot/x86_64/efi" else ALTBOOT="" echo "Warning: disabling EFI support (not supported by this mkisofs)!" echo "Continuing in 5 seconds..." sleep 5 fi
mkisofs $VERBOSE -o $OUTPUT -V "$VOL_ID" -R \ $BOOTOPTS $ALTBOOT -graft-points \ -x $SRC/boot/x86_64/loader/isolinux.cfg \ -x $SRC/boot/x86_64/loader/gfxboot.cfg \ -x $SRC/boot/x86_64/loader/isolinux.bin \ -x $SRC/EFI/BOOT/grub.cfg \ -x $SRC/boot/x86_64/vmlinuz-xen \ -x $SRC/boot/x86_64/initrd-xen \ boot/=$SRC/boot EFI/=$SRC/EFI \ boot/x86_64/vmlinuz-xen=$SRC/boot/x86_64/loader/linux \ boot/x86_64/initrd-xen=$SRC/boot/x86_64/loader/initrd \ $CDROOT \ $SRC/content $SRC/content.asc $SRC/license.tar.gz $SRC/control.xml ====
($SRC is the path to the mounted DVD iso; I copy my own versions of isolinux.cfg/gfxboot.cfg (BIOS) and grub.cfg (UEFI) under $CDROOT/boot/x86_64/loader and $CDROOT/EFI/BOOT, respectively. The Xen stuff is for space saving, replicating what’s done on the official DVDs for 42.2/SLE12SP2 and newer, where the Xen kernel/initrd are hard links to the default kernel/initrd; for prior versions, they were different kernels.)
Hello, thanks. So I have to adopt y2mkiso also. I will try it. Regards Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
You need to use mkisofs (the original one by Joerg Schilling) instead of genisoimage; it’s in the Leap OSS repos (but sadly not in SLES, although you can grab it from OBS and/or rebuild the .src.rpm).
Here’s how I invoke mkisofs to create an image bootable from both BIOS and UEFI : ==== BOOTOPTS="-b boot/x86_64/loader/isolinux.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table"
# EFI boot support -- requires the official mkisofs by Joerg Schilling. # Some versions of genisoimage (e.g. RedHat/Debian) support this with different # options (via a local patch, not included in upstream), but not the SUSE one. if mkisofs --version | grep -q Schilling; then ALTBOOT="-eltorito-alt-boot -eltorito-platform efi \ -no-emul-boot -boot-load-size 1 -b boot/x86_64/efi" else ALTBOOT="" echo "Warning: disabling EFI support (not supported by this mkisofs)!" echo "Continuing in 5 seconds..." sleep 5 fi
mkisofs $VERBOSE -o $OUTPUT -V "$VOL_ID" -R \ $BOOTOPTS $ALTBOOT -graft-points \ -x $SRC/boot/x86_64/loader/isolinux.cfg \ -x $SRC/boot/x86_64/loader/gfxboot.cfg \ -x $SRC/boot/x86_64/loader/isolinux.bin \ -x $SRC/EFI/BOOT/grub.cfg \ -x $SRC/boot/x86_64/vmlinuz-xen \ -x $SRC/boot/x86_64/initrd-xen \ boot/=$SRC/boot EFI/=$SRC/EFI \ boot/x86_64/vmlinuz-xen=$SRC/boot/x86_64/loader/linux \ boot/x86_64/initrd-xen=$SRC/boot/x86_64/loader/initrd \ $CDROOT \ $SRC/content $SRC/content.asc $SRC/license.tar.gz $SRC/control.xml ====
($SRC is the path to the mounted DVD iso; I copy my own versions of isolinux.cfg/gfxboot.cfg (BIOS) and grub.cfg (UEFI) under $CDROOT/boot/x86_64/loader and $CDROOT/EFI/BOOT, respectively. The Xen stuff is for space saving, replicating what’s done on the official DVDs for 42.2/SLE12SP2 and newer, where the Xen kernel/initrd are hard links to the default kernel/initrd; for prior versions, they were different kernels.)
Hello Andrew, this works, thank you very much. Regards Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
Hello, On Oct 5 00:11 Andrew Daugherity wrote (excerpt):
On Oct 4, 2017, at 9:33 AM, Daniel Spannbauer <ds@marco.de> wrote: ... how do I generate a UEFI Iso-Image on Leap? genisoimage seems to lack the parameter --eltorito-boot
cf. https://github.com/rear/rear/issues/588 in particular https://github.com/rear/rear/issues/588#issuecomment-102496028 and https://github.com/rear/rear/issues/588#issuecomment-152813787 and follow the links therein. In particular see https://github.com/rear/rear/issues/214 that points to https://bugzilla.opensuse.org/show_bug.cgi?id=811636 which explains that the final reason behind are legal issues as far as I understand https://bugzilla.opensuse.org/show_bug.cgi?id=811636#c4
You need to use mkisofs (the original one by Joerg Schilling) instead of genisoimage; it?s in the Leap OSS repos (but sadly not in SLES, although you can grab it from OBS and/or rebuild the .src.rpm).
Alternatively for newer SLE12 we provide "ebiso", cf https://github.com/gozora/ebiso but we provide "ebiso" only via the SLE-HA extension. You can also get "ebiso" from the openSUSE Build Servce. See http://www.it3.be/2015/10/27/uefi-iso-boot-with-ebiso/ and/or https://github.com/gozora/ebiso/blob/master/README.md how to use "ebiso" Or alternatively you may try "mksusecd" which is SUSE's own tool to create the SUSE Linux installation ISOs. "mksusecd" is available from the openSUSE Build Servce. I guess with "mksusecd" you get 100% SUSE-compatible ISOs. Kind Regards Johannes Meixner -- SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard, Graham Norton - HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
Am 10/05/2017 um 11:15 AM schrieb Johannes Meixner:
Hello,
On Oct 5 00:11 Andrew Daugherity wrote (excerpt):
On Oct 4, 2017, at 9:33 AM, Daniel Spannbauer <ds@marco.de> wrote: ... how do I generate a UEFI Iso-Image on Leap? genisoimage seems to lack the parameter --eltorito-boot
cf. https://github.com/rear/rear/issues/588 in particular https://github.com/rear/rear/issues/588#issuecomment-102496028 and https://github.com/rear/rear/issues/588#issuecomment-152813787 and follow the links therein. In particular see https://github.com/rear/rear/issues/214 that points to https://bugzilla.opensuse.org/show_bug.cgi?id=811636 which explains that the final reason behind are legal issues as far as I understand https://bugzilla.opensuse.org/show_bug.cgi?id=811636#c4
You need to use mkisofs (the original one by Joerg Schilling) instead of genisoimage; it?s in the Leap OSS repos (but sadly not in SLES, although you can grab it from OBS and/or rebuild the .src.rpm).
Alternatively for newer SLE12 we provide "ebiso", cf https://github.com/gozora/ebiso but we provide "ebiso" only via the SLE-HA extension. You can also get "ebiso" from the openSUSE Build Servce. See http://www.it3.be/2015/10/27/uefi-iso-boot-with-ebiso/ and/or https://github.com/gozora/ebiso/blob/master/README.md how to use "ebiso"
Or alternatively you may try "mksusecd" which is SUSE's own tool to create the SUSE Linux installation ISOs. "mksusecd" is available from the openSUSE Build Servce. I guess with "mksusecd" you get 100% SUSE-compatible ISOs.
Hello Johannes, until now I used the y2mkiso from the yast2-product-creater. Is there a major difference between them? Or is the result the same? Regards Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
Hello, On Oct 5 11:17 Daniel Spannbauer wrote (excerpt):
Am 10/05/2017 um 11:15 AM schrieb Johannes Meixner:
On Oct 5 00:11 Andrew Daugherity wrote (excerpt):
On Oct 4, 2017, at 9:33 AM, Daniel Spannbauer <ds@marco.de> wrote: ... how do I generate a UEFI Iso-Image on Leap? genisoimage seems to lack the parameter --eltorito-boot ... You need to use mkisofs (the original one by Joerg Schilling) ... Alternatively for newer SLE12 we provide "ebiso" ... ... Or alternatively you may try "mksusecd" ... ... until now I used the y2mkiso from the yast2-product-creater. Is there a major difference between them? Or is the result the same?
How funny! Because SUSE's genisoimage does not work out of the box some kind of "freak show of four alternatives" emerged. I have no idea in which particular ways those little monsters may or may not differ. Kind Regards Johannes Meixner -- SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard, Graham Norton - HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
Am 10/05/2017 um 12:15 PM schrieb Johannes Meixner:
Or alternatively you may try "mksusecd" ... ... until now I used the y2mkiso from the yast2-product-creater. Is there a major difference between them? Or is the result the same?
How funny! Because SUSE's genisoimage does not work out of the box some kind of "freak show of four alternatives" emerged. I have no idea in which particular ways those little monsters may or may not differ.
Hello Johannes, I've looked over the help of mksusecd. It seems to do automatically what I did by my own script. But: - I have modified isolinux.cfg which special boot entrys for different hardware. Same for the grub2. Are they overwritten when I use mksusecd? - The content is signed with a gpg key which is protected by a passphrase. With my script I use gpg via batchmode and it gets the passphrase from a textfile. Does mksusecd support that scenario? - mksusecd need root privilegs, my script runs as user. That are the stumbling blocks I figured out till now. Who is the maintainer of that script? Looks great so far. Regards Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
Hello, On Oct 5 12:24 Daniel Spannbauer wrote (excerpt):
I've looked over the help of mksusecd. ... Who is the maintainer of that script?
See the URL in "rpm -qi mksusecd" that points to https://github.com/openSUSE/mksusecd and from there go to https://github.com/wfeldt If you have 'osc' installed you could do alternatively: --------------------------------------------------------- $ osc maintainer mksusecd Defined in project: system:install:head bugowner of mksusecd : snwint $ osc whois snwint snwint: "Steffen Winterfeldt" <snwint@suse.com> --------------------------------------------------------- I think for enhancements it is best to do it via GitHub. Kind Regards Johannes Meixner -- SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard, Graham Norton - HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
participants (3)
-
Andrew Daugherity
-
Daniel Spannbauer
-
Johannes Meixner