Re: F34 Change proposal: Compress Kernel Firmware (Self-Contained Change)

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

 



Hi,

Neal Gompa wrote:
> Could we just drop syslinux/isolinux and use GRUB there? Other
> distributions have done that

I understand Ubuntu did it just yesterday.
  https://releases.ubuntu.com/20.10/ubuntu-20.10-desktop-amd64.iso

The lesson from
  https://bugs.launchpad.net/ubuntu-cdimage/+bug/1886148
  https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1895131
  https://bugs.launchpad.net/ubuntu-cdimage/+bug/1899308
is is to append the EFI partition image to the end of the ISO, use
xorriso partition offset 16 to enclose it into the overall ISO's
filesystem size, mark the partitions by valid GPT (because of recent
Lenovo laptops), and add a MBR partition hack which bears the "bootable"
flag (for old HP laptops).

I.e.

  mbr=...disk.path.to.grub.mbr.template.with.bios.x86.code...
  efi=...disk.path.to.FAT.filesystem.image.for.EFI...

  --grub2-mbr "$mbr"
  -append_partition 2 0xEF "$efi"
  -partition_offset 16
  -appended_part_as_gpt
  --mbr-force-bootable
  ...
  -b 'boot/grub/i386-pc/eltorito.img'
  ...
  -eltorito-alt-boot
  -e '--interval:appended_partition_2'
  -no-emul-boot

instead of

  -isohybrid-mbr ...disk.path.to.../isohdpfx.bin
  ...
  -b 'isolinux/isolinux.bin'
  ...
  -eltorito-alt-boot
  -e 'images/efiboot.img'
  -no-emul-boot
  -isohybrid-gpt-basdat

The equipment as used by grub-mkrescue should work. For getting an
impression, install the packages for BIOS, 64-bit x86 EFI, 32-bit x86 EFI,
and then run grub-mkrescue with some dummy directory as input.
The emerging GPT is ugly because grub-mkrescue puts the EFI partition
image as file into the ISO and marks it there. But the MBR and
/boot/grub/i386-pc/eltorito.img will probably be what you want for legacy
BIOS.
grub-mkrescue for 64-bit EFI creates a HFS+ filesystem tree and marks it
by an Apple Partition Map. One should consider whether there is still an
audience of old x86 Macs which doe not do EFI.

The new GRUB-only Ubuntu ISO seems to boot on as many systems as did the
old layout with ISOLINUX and GRUB, invented by Matthew J. Garrett for
Fedora 8 years ago.
(Fedora adds a HFS filesystem image and a Apple Partition Map, which Ubuntu
did not do in the last years. It could be replaced by a HFS+ tree like
for grub-mkrescue.)


Further an unpacked copy of the EFI partition filesystem's \BOOT\EFI
should be present in the ISO as /BOOT/EFI. MS-Windows users seem to be
used to copy the whole ISO file tree into a FAT partition and to expect
that it then boots by EFI. (The scandal is that this really does work.)


Chris Murphy wrote:
> I don't know the history of why we left it as isolinux for BIOS though.

Given above woes of Ubuntu, i'd say it was prudent conservatism.
The switch needed nerves and some help from bystanders.


Have a nice day :)

Thomas
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux