Hi, Mattia Rizzolo wrote: > So, overall, I actually don't think that diffoscope has the requested > support, and it's not "just" a bug of failed identification.
If it gets support for detecting partitions in image files then it will have to handle hybrid bootable ISO 9660 images which bear partition tables for the case that they get copied onto a USB stick. There are various layouts. Some are quite awkward and invite for getting lost in the woods. (Actually they lure firmwares out of the woods.) E.g. debian-11.5.0-amd64-netinst.iso has two partitions in the MBR table plus a GPT header which most readers won't take into respect but will appease older versions of OVMF virtual EFI. MBR partition 1 marks the whole ISO 9660 filesystem. MBR partition 2 marks a data file range within that ISO filesystem (i.e. abominable partition nesting). The data file is actually a FAT filesystem image, which could possibly begin by an MBR with partition table. Further there is an Apple Partition Map with ai single partition marking the FAT filesystem image for EFI. This partition layout is an invention of Matthew J. Garrett for Fedora. ubuntu-22.04-desktop-amd64.iso has a nearly properly announced GPT with the tiny flaw of an MBR partition 2 of type 0x00 which carries the "bootable" flag. That's a lure for some legacy BIOS laptops which don't consider a disk for booting if it does not have a partition with the flag. The 3 not nested GPT partitions mark the ISO filesystem, the EFI partion, and the traditional 300 KiB of padding. The EFI partition is not a data file in the ISO filesystem. The confusion is completed by the fact that the overall image is a mountable ISO filesystem which claims the whole size of the image file including the EFI partition and the padding. Nevertheless GPT partition 1 does not start at the start of the image file but is an ISO filesystem too, which bears the same files as the overall ISO fileystem. grub-mkrescue produces for x86_64 a boringly specs compliant ISO with GPT at the cost that there is no mountable ISO partition in the GPT. But the image also contains an Apple Partition Map with a partition pointing to a HFS+ filesystem which shows the same files as the ISO 9660 filesystem. (It is of course possible to mount the overall image file as ISO 9660.) Quite like a normal disk image is Fedora-Everything-netinst-x86_64-37-1.7.iso with its 3 GPT partitions. The only unusual aspect is the mountability of the overall image file with an ISO filesystem which claims the block range of all three partitions. All these images contain block ranges which are neither covered by the ISO 9660 file tree nor by the partitions. One will always first have to compare such ISOs byte-by-byte and only in case of mismatch look into the ISO filesystem and partitions for a more qualified presentation of the differences. Have a nice day :) Thomas