Thanks, Thomas - I think I'm beginning to understand. Let me go over both this information and the xorisso docs and then report back. Cheers!
From: Thomas Schmitt <scdbackup@gmx.net>
Sent: Wednesday, December 8, 2021 10:53 PM To: debian-live@lists.debian.org <debian-live@lists.debian.org> Subject: Re: Building image with grub-efi-amd64 instead of grub-pc? Hi,
Anindya Chaudhuri wrote: > Thanks for detailed response. This is very helpful. Regrettably i am no user of live-build myself. So i can only judge things which are very near to the xorriso run of live-build or to the first steps of x86 firmware when booting. > So, if I > understand correctly, I should probably build the image with both grub-pc > and isolinux configuration folders No. "syslinux" and "grub-pc" are mutually exclusive. Both provide an El Torito boot image for BIOS, of which only one can get into effect. "syslinux" seems to be the more capabable offer of live-build for legacy BIOS. Consider to combine it with "grub-efi". (However this is achieved.) "syslinux" obviously causes an ISOLINUX isohybrid MBR to be put at the start of the ISO: https://sources.debian.org/src/live-build/1:20210902/scripts/build/binary_iso/?#L71 This MBR contains code which hops to the El Torito boot image isolinux.bin when the ISO is presented to BIOS on a USB stick. "grub-pc" seems not to cause the equivalent gesture for GRUB2. (That would be something about xorrisofs option --grub2-mbr.) Thus "grub-pc" will probably not boot via legacy BIOS from USB stick but only from CD, DVD, or BD media. > and they will > automatically be selected up in 32-bit and 64-bit hardware? The distinction of word size for boot equipment applies only to EFI, where the system partition can hold boot programs with predefined names for the various CPU families which may be run by EFI. Candidates for x86 are /EFI/BOOT/BOOTX64.EFI /EFI/BOOT/BOOTIA32.EFI depending on the bit count of the EFI firmware. In live-build the choice of architecture is made by variable LB_ARCHITECTURE which can be "amd64", "i386", "arm64", or "armhf". Legacy BIOS always starts with 16-bit x86 code. More powerful code sets are chosen later by the booting operating system. Have a nice day :) Thomas |