[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libcdio-devel] [PATCH 2/4] Add El Torito virtual boot image support
From: |
Thomas Schmitt |
Subject: |
Re: [Libcdio-devel] [PATCH 2/4] Add El Torito virtual boot image support |
Date: |
Thu, 25 Jan 2024 08:42:26 +0100 |
Hi,
something i forgot to mention yesterday:
$ xorriso -indev openSUSE-13.1-NET-x86_64.iso -report_el_torito plain
...
El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA
El Torito boot img : 1 BIOS y none 0x0000 0x00 4 4238
El Torito boot img : 2 UEFI y none 0x0000 0x00 1 70
El Torito img path : 1 /boot/x86_64/loader/isolinux.bin
El Torito img opts : 1 boot-info-table isohybrid-suitable
El Torito img path : 2 /boot/x86_64/efi
...
The size of the EFI boot image is recorded in the boot catalog as 1, which
complies to UEFI-2.8:
13.3.2.1 ISO-9660 and El Torito
[...]
If the value of Sector Count is set to 0 or 1, EFI will assume the
system partition consumes the space from the beginning of the
“no emulation” image to the end of the CD-ROM.
This is necessary if the EFI partition is larger than 65535 * 512 bytes
= 32 MiB - 512.
Some misguided ISO producers use 65535 instead of 0 or 1:
slint64-current-goofiboot-1.4.0.iso
El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA
El Torito boot img : 1 BIOS y none 0x0000 0x00 4 32807
El Torito boot img : 2 UEFI y none 0x0000 0x00 65535 39
El Torito img path : 1 /isolinux/isolinux.bin
El Torito img opts : 1 boot-info-table isohybrid-suitable
El Torito img path : 2 /efi.img
(I take these examples out of the log of my regression test which repacks
about 200 GB of bootable ISOs whenever i change the boot related code in
libisofs.)
> so, on real-life El-Torito media, you will find:
> - [BOOT]/0-Boot-NoEmul.img (the initial 2048 byte loader)
> - [BOOT]/1-Boot-NoEmul.img (the rest of the image)
Urm, in the usual Linux distro installation ISO this will be the BIOS
boot image (shortened) and the EFI system partition image.
The short size of the BIOS image was chosen by the boot loader programmers
to circumvent a bug in old BIOSes, which refused to load any other size.
The rest of the BIOS image is directly following the first 2048 bytes
and is not announced by the boot catalog.
Its presence and size can only be told if the boot info table is read.
I understand your patch is only striving for EFI boot images.
That would be ok for me, if it would exclude other images from being
mapped to the pseudo-directory and if it would get the EFI image size
rules correctly.
(For being able to tell the intented firmware system, you'd need to
interpret the Validation Entry and the Section Header Entries for
platform ids.)
> Gotta love how on one hand I'm kind of being chastised for taking shortcuts
> with the specs, but, when I follow the specs exactly, that make absolutely
> zero mention about a lower limit for num_sectors, I'm being told about
> "tradition".
Hey, this is a technical discussion about El Torito and your patch.
No offense intended.
The existing habits around boot loaders are of importance. The world of
legacy BIOS nearly entirely consists of habits.
Have a nice day :)
Thomas
Re: [Libcdio-devel] [PATCH 0/4] Add El Torito virtual image support, Rocky Bernstein, 2024/01/24