Hi,

James Addison wrote:
> Thinking aloud: as an alternative, would adding the '-f' flag to MKISOFS
> achieve the desired result for both documentation and firmware files,
> without requiring any other changes?

Let's pack up some symbolic links with -f:

  $ sudo mount firmware-bookworm-DI-alpha1-amd64-netinst.iso /mnt/iso
  ...
  $ ls -l /mnt/iso/firmware
  total 4
  lr-xr-xr-x 1 root root   73 Sep 20 14:30 
amd64-microcode_3.20220411.1_amd64.deb -> 
../pool/non-free/a/amd64-microcode/amd64-microcode_3.20220411.1_amd64.deb
  lr-xr-xr-x 1 root root   62 Sep 20 14:30 atmel-firmware_1.3-6_all.deb -> 
../pool/non-free/a/atmel-firmware/atmel-firmware_1.3-6_all.deb
  lr-xr-xr-x 1 root root   62 Sep 20 14:30 bluez-firmware_1.2-7_all.deb -> 
../pool/non-free/b/bluez-firmware/bluez-firmware_1.2-7_all.deb
  ...

So Linux shows the symbolic links of the mounted ISO.
I pick the directory with the links and a tree with most of their target
files and put them into an ISO:

  $ xorriso -as mkisofs -f -R -o test.iso -graft-points 
/firmware=/mnt/iso/firmware /pool/non-free=/mnt/iso/pool/non-free
  ...

Our goal is to have link and target path pointing to the same blocks.
And indeed:

  $ xorriso -indev test.iso -find / -type f -sort_lba -exec report_lba --
  ...
  Report layout: xt , Startlba ,   Blocks , Filesize , ISO image path
  File data lba:  0 ,       49 ,       57 ,   115444 , 
'/firmware/amd64-microcode_3.20220411.1_amd64.deb'
  File data lba:  0 ,       49 ,       57 ,   115444 , 
'/pool/non-free/a/amd64-microcode/amd64-microcode_3.20220411.1_amd64.deb'
  File data lba:  0 ,      106 ,       72 ,   147088 , 
'/firmware/atmel-firmware_1.3-6_all.deb'
  File data lba:  0 ,      106 ,       72 ,   147088 , 
'/pool/non-free/a/atmel-firmware/atmel-firmware_1.3-6_all.deb'
  File data lba:  0 ,      178 ,       89 ,   181620 , 
'/firmware/bluez-firmware_1.2-7_all.deb'
  File data lba:  0 ,      178 ,       89 ,   181620 , 
'/pool/non-free/b/bluez-fir
  ...

With genisoimage i see the same.

The only drawback seems to be that this prevents any symbolic links from
being in the ISO.
Whether the detection of dangling symbolic links at ISO production time is
an advantage or a disadvantage is not so clear.


Have a nice day :)

Thomas

Reply via email to