Re: Adding MD5 to Image...
Mike 'Fox' Morrey >
> written
> STRAIGHT to disk if MKISOFS can print out the MD5SUM itself..
I see. My mistake. I did not examine your mkisofs options
in the second mail thoroughly enough. Overlooked
-split-output -o /usr/image/archive.iso
>From the first mail i thought it was about writing on the fly.
But if the images are stored in /usr/image/, what keeps you
from running them through program md5sum ?
Like
cat /usr/image/archive.iso_?? | md5sum
Doesn't that yield the same checksum as the concatenated
ISO image ?
> Currently I have to create the iso (split-output) twice
> first time to the files, second time piping it to md5sum.
Does that piping yield two times the same MD5 for you ?
I just compared
$ mkisofs -J -R -v -split-output -o /dvdbuffer/iso -iso-level 3 ...
$ cat /dvdbuffer/iso_00 /dvdbuffer/iso_01 /dvdbuffer/iso_02 \
| md5sum
with
$ mkisofs -J -R -iso-level 3 ... | md5sum
and it differs.
But the next
$ mkisofs -J -R -iso-level 3 ... | md5sum
differs from both.
The source tree has not been altered between the runs.
(Timestamps in the ISO image to blame ?)
> due to client restraints, I can't have it IN the file ,
On the risk to appear stubborn :
The image is passed unaltered from stdin to stdout.
Nothing gets appended to it yet. (That's a future idea)
In my application the filter is used like
mkisofs | cd_backup_planer -filter_md5 | cdrecord
or
mkisofs | cd_backup_planer -filter_md5 | growisofs
The MD5 record is written to a file on hard disk.
50+ bytes. You name the target file where they shall get
appended. Not any ISO image, but a text list.
Of course, this does not match your -o option
which i overlooked.
But if you build a splitter which produces 1 GB file
chunks from stdin then you could replace
mkisofs ... -split-output -o /usr/image/archive.iso ...
by something like
mkisofs ... | \
cd_backup_planer -filter_md5 ... | \
splitter /usr/image/archive.iso
That splitter would have to produce files compatible
to the output of mkisofs option -split-output
/usr/image/archive.iso_00 ..._01 ..._02
xfwrite() in mkisofs/write.c does not look like there
was any formatting added with the split. There is just an
freopen() when the file size exceeded ((off_t)1024 * 1024 * 1024)
during the normal processing of output.
So cat should put them together nicely.
I gave it a try :
cat /dvdbuffer/iso_* >/dvdbuffer/iso
mount /dvdbuffer/iso -t iso9660 /mnt -o loop,ro
tar cf - /mnt | wc
does not complain and yields a plausible count.
Have a nice day :)
Thomas
Reply to: