Hi,

> AFAICS we would need to build grub
> twice, for pc-i386 and efi-x86-64.

Well, yes. But then it boots everywhere. Debian normally uses i386-pc
and the *-efi which matches the "architecture" of the ISO: "i386", "amd64".

A grub-mkrescue ISO for i386-pc, x86_64-efi, and i386-efi with no operating
system payload looks like this:

  $ du
  1334    ./boot/grub/fonts
  1927    ./boot/grub/i386-efi
  2031    ./boot/grub/i386-pc
  3114    ./boot/grub/locale
  2       ./boot/grub/roms
  2606    ./boot/grub/x86_64-efi
  11015   ./boot/grub
  11017   ./boot
  230     ./System/Library/CoreServices
  232     ./System/Library
  234     ./System
  14134   .
  $ ls -l
  dr-xr-xr-x 1 root root    2048 Feb  6  2016 System
  dr-xr-xr-x 1 root root    2048 Feb  6  2016 boot
  -r--r--r-- 1 root root    2048 Feb  6  2016 boot.catalog
  -r--r--r-- 1 root root 2949120 Feb  6  2016 efi.img
  -r--r--r-- 1 root root       0 Dec 24  2015 empty-file.txt
  -r--r--r-- 1 root root       0 Feb  6  2016 mach_kernel

The EFI System Partition content:

  # mount /mnt/iso/efi.img /mnt/fat
  $ cd /mnt/fat
  $ ls -lR
  .:
  total 3
  -rwxr-xr-x 1 root root 1759 Dec 10  2017 NvVars
  drwxr-xr-x 3 root root 1024 Feb  6  2016 efi

  ./efi:
  total 1
  drwxr-xr-x 2 root root 1024 Feb  6  2016 boot

  ./efi/boot:
  total 318
  -rwxr-xr-x 1 root root  95744 Feb  6  2016 boot.efi
  -rwxr-xr-x 1 root root  95744 Feb  6  2016 bootia32.efi
  -rwxr-xr-x 1 root root 132608 Feb  6  2016 bootx64.efi

This is about the maximum of useful boot equipment.
The two EFI startup programs can share one partition. So the options or
commands proposed by me stay valid, if EFI is involved at all.

The FAT image looks vastely oversized, mimicking a 2.8 MB floppy:

  $ df /mnt/fat
  Filesystem     1K-blocks  Used Available Use% Mounted on
  /dev/loop1          2863   322      2541  12% /mnt/fat

There is no reference to floppies in EFI specs. 500 KB of FAT filesystem
should fully suffice here. (Guix ISOs had problems with this kind of
cargo cult, because mformat on behalf of grub-mkrescue inserts a
partition table into the image. Some antique EFI began to loop on it
infinitely, because partition 1 starts at block 0.)

If you do not want PC-BIOS support in the ISO, then simply leave out
the xorrisofs option -b (or its xorriso native equivalent) and the
El Torito separator option -eltorito-alt-boot before you use option -e.


>  I was considering pc-i386 for 32bit x86 builds

There is an increasing number of reports about EFI-only notebook PCs.
I am not sure whether there are 32-bit systems among them.
Surely there are 32-bit EFI firmwares out there.


> and efi-x86-64 for x86-64 builds

I have a PC-BIOS-only 64-bit AMD test machine from 2010: Desktop,
4 x 2.4 GHz, 4 GB RAM, 500 GB disk. Hosts Debian 6, FreeBSD 8, Solaris
for legacy regression testing. (And served me already two times as
fallback for a few days, when my workstation hardware curled its toes.)

Even with younger 64-bit machines it might be convenient for testers
if they do not have to change the EFI legacy settings before booting
the ISO.


Have a nice day :)

Thomas



----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to