Hi,
> On 6. Nov 2019, at 11:41, Thomas Schmitt <[email protected]> wrote: > > Hi, > >> Nice to see you hanging around here ;-) > > It's interesting to see what you are doing. > And after all, you are a user of xorriso. :)) > > >> I noticed the other day that xorriso >> Does not support -hfs as needed for bootable PowerPC Apple PowerMac > > Yes. It has a HFS+ tree generator contributed by GRUB developer Vladimir > Serbinenko. He obviously had no interest in the older HFS-needy machines. > HFS and HFS+ are quite different, internally. I don't see an easy way to > derive -hfs from -hfsplus. And it's totally legacy. > > You will have to use mkisofs or genisoimage. Ic, so I’ll probably change the Create-ISO script to automatically use such programs as soon as -hfs is in the options, ... >> Unrelated to this likely pure /efi/boot ISO > > There is no EFI System Partition entry to see (for USB stick) and no EFI > El Torito item (for CD/DVD/BD). Both may well refer to the same block range, > a FAT filesystem. They just advertise this filesystem in different ways. > (Many EFI implementations don't care for the difference and boot CD via > partition table as well as USB stick via El Torito.) > > But in t2-minimal-musl-clang-x86-64-r48750.iso there is no MBR signature, > no x86 code, and no MBR partition table in the first 512 bytes. > So there is no GPT (because of no "protective MBR") and thus no lure for > EFI firmware is present. Yes, it was a first test and I wanted to archive the muse clang build. I did not study what the EFI spec says. > I see in the mounted ISO an EFI startup program for 64-bit x86: > /efi/boot/bootx64.efi > To be UEFI specs compliant, it would have to be in a FAT filesystem and > advertised by El Torito or partition table (MBR or GPT). > > If you have boot success with this ISO, then probably because your EFI > looks in all regonizable filesystems for "\EFI\BOOT\BOOTX64.EFI". (The > UEFI specs show file paths in DOS style.) > > For xorriso i advise to append the EFI System Partition FAT filesystem > image as MBR partition 2 to the ISO and to use partition offset 16 for > the ISO partition. For a motivation see my proposal to Debian to improve > their bootable ISOs: > https://lists.debian.org/debian-cd/2019/07/msg00007.html > > My advise to t2 is to make the ISO ready for both PC-BIOS and EFI by > augmenting the existing xorriso or xorrisofs run for BIOS by new > commands or options as proposed to Debian. > > xorriso -as mkisofs: > -partition_offset 16 > -append_partition 2 0xef ...path.to.EFI.FAT.image.on.hard.disk... > -e --interval:appended_partition_2:all:: > -iso_mbr_part_type 0x83 > > xorriso native: > -boot_image any partition_offset=16 > -append_partition 2 0xef ...path.to.EFI.FAT.image.on.hard.disk... > -boot_image any efi_path=--interval:appended_partition_2:all:: > -boot_image any iso_mbr_part_type=0x83 > > (Is there a web browsable repo of the code which controls the xorriso run ?) > > There remains the question what more should be in the EFI FAT image. > Debian ISOs, e.g. > > https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso > and those made by grub-mkrescue for x86_64-efi can give examples. > The FAT images are marked by their partition tables. I will try adding some of the options. The reason I’m not the biggest fan of this hybrid image is, that AFAICS we would need to build grub twice, for pc-i386 and efi-x86-64. To keep things simple and building grub2 only once, I was considering pc-i386 for 32bit x86 builds, and efi-x86-64 for x86-64 builds, I will try this additional options and probably need to test what actual PC BIOSs are doing, as I usually don’t write opticals for those anymore (only for vintage unix machines). René -- ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin, https://exactcode.com https://exactscan.com | https://ocrkit.com | https://t2sde.org | https://rene.rebe.de
----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [email protected] with a subject of: unsubscribe t2
