Hello Thomas, On 23/11/2024 15:35, Thomas Schmitt wrote:
I wasn't aware that Debian Live can be built with GRUB for BIOS.
That has been possible since quite some time, but the default has been syslinux/isolinux for BIOS and GRUB for UEFI.
To possibly bystanding developers:
You mean me :-)
I looked up the xorrisofs options for the GRUB equivalent of isohybrid:
https://sources.debian.org/src/live-build/1:20240810/scripts/build/binary_iso/?#L78
elif [ "${LB_BOOTLOADER_BIOS}" = "grub-pc" ]
then
XORRISO_OPTIONS="${XORRISO_OPTIONS} --grub2-boot-info --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img"
XORRISO_OPTIONS="${XORRISO_OPTIONS} -efi-boot-part --efi-boot-image"
It would be better understandable if the EFI options were moved down to
the handling of the EFI boot image:
https://sources.debian.org/src/live-build/1:20240810/scripts/build/binary_iso/?#L160
grub-efi)
if [ -e binary/boot/grub/efi.img ]; then
XORRISO_OPTIONS="${XORRISO_OPTIONS} -e boot/grub/efi.img -no-emul-boot"
XORRISO_OPTIONS="${XORRISO_OPTIONS} -isohybrid-gpt-basdat -isohybrid-apm-hfsplus"
Line 163 would become something like
if [ "${LB_BOOTLOADER_BIOS}" = "grub-pc" ]
then
XORRISO_OPTIONS="${XORRISO_OPTIONS} -efi-boot-part --efi-boot-image"
else
XORRISO_OPTIONS="${XORRISO_OPTIONS} -isohybrid-gpt-basdat -isohybrid-apm-hfsplus"
fi
The result is supposed to be the same as with the current somewhat
self-contradicting set of options in case of "grub-pc":
-efi-boot-part --efi-boot-image ... -isohybrid-gpt-basdat
-isohybrid-apm-hfsplus
Options -isohybrid-gpt-basdat and -isohybrid-apm-hfsplus have no effect,
if not options -isohybrid-mbr or -part_like_isohybrid are given,
which they should not be if GRUB BIOS equipment is used.
Further i think that -isohybrid-apm-hfsplus should be removed,
unless a HFS+ filesystem image is given by -e, as Fedora once did
in its ISO for getting a third boot image for pre-EFI Macs.
("Ceterum censeo Carthaginem esse delendam.", Cato)
So there are 3 scenarios to consider: A) grub-pc for BIOS, no EFI boot B) grub-pc for BIOS, grub-efi for EFI C) no BIOS boot, grub-efi for EFI Am I right that the command line options to xorriso should be: When grub-pc is to be used:--grub2-boot-info --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img (from line 80)
-no-emul-boot -boot-load-size 4 -boot-info-table (from line 132) -b boot/grub/grub_eltorito (from line 133) When grub-efi is to be used: -e boot/grub/efi.img -no-emul-boot (from line 162) -isohybrid-gpt-basdat (from line 163) When both grub-pc and grub-efi are to be used, in addition: -efi-boot-part --efi-boot-image (from line 81) -eltorito-alt-boot (from line 155) With kind regards, Roland Clobus
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature