Andy Polyakov <appro@fy.chalmers.se> wrote:
You used mkisofs incorrectly
Command line sequence was *tailored* to allow to produce usable input
for *hex editor* in less than minute.
Why did you use -C16,xxx?
This is definitely wrong.
The reason is in the beginning of merge_isofs() in multi.c. In
particular for (i=0;i<100;i++) loop. As area prior sector 16 is allowed
to be and customarily used for other purposes (such as hybrid disks),
there is no guarantee that data there does not resemble iso9660 volume
descriptor. I don't want mkisofs to look at sectors prior 16th at all,
but start directly with volume descriptor. One can argue that mkisofs
should have seek-ed to 16th sector all by itself, but the code has been
around for so long, that it should be considered feature, not bug.
In theory, I could change mkisofs to start looking at sector #16 as the oldest
availabe implementation (20 years old) at
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/hsfs/hsfs_vnops.c
starts reading at sector 16.
But if you put something that looks like a PVD between sector #0 and
sector #15, then your software is wrong anyway. Are you really doing this?