Bug#1031696: Use of symbolic links in non-free ISO images breaks file system transposition support
Package: debian-cd
Followup-For: Bug #1031696
> >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?
> No, then I expect we'll simply end up with duplicate copies of the
> files.
I was worried about that too, but I think that with '-f', each resulting file
is only stored once within the resulting ISO image, so no additional storage
space (beyond the additional file record references) is required.
Testing, although maybe not proving, the idea: here's creation of a 1MB file,
then creation of a symlink to it, and an ISO image -- that is less than 2MB --
containing both by using the '-f' flag to store symlinked files using shared
disc-blocks instead of links:
$ dd if=/dev/zero of=one.dat bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00553131 s, 190 MB/s
$ ln -s one.dat two.dat
$ xorriso -as mkisofs -f -o combined.iso one.dat two.dat
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:combined.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 250g free
Added to ISO image: file '/one.dat'='/home/jka/Downloads/one.dat'
xorriso : UPDATE : 1 files added in 1 seconds
Added to ISO image: file '/two.dat'='/home/jka/Downloads/two.dat'
xorriso : UPDATE : 2 files added in 1 seconds
ISO image produced: 695 sectors
Written to medium : 695 sectors at LBA 0
Writing to 'stdio:combined.iso' completed successfully.
$ ls -lsh combined.iso
1.4M -rw-r--r-- 1 jka jka 1.4M Mar 12 18:08 combined.iso
$ xorriso -indev combined.iso -find / -type f -exec report_lba
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 2 nodes read in 1 seconds
Drive current: -indev 'combined.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Media summary: 1 session, 695 data blocks, 1390k data, 250g free
Volume id : 'ISOIMAGE'
Report layout: xt , Startlba , Blocks , Filesize , ISO image path
File data lba: 0 , 33 , 512 , 1048576 , '/one.dat'
File data lba: 0 , 33 , 512 , 1048576 , '/two.dat'
Reply to: