[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: