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

Re: Building image with grub-efi-amd64 instead of grub-pc?



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


Reply to: