Defindit Docs and Howto Home

This page last modified: Apr 04 2008
Problem: K3B (which is fantastic) says something like "Can't read any
tracks when it gets to the verify stage after writing a DVD. There
were no errors on write. This is probably some kind of configuration
bug in the system, and not the fault of K3B.

However, you still want to know if that 4.2GB Linux install iso is any
good. You can diagnose the "why can't K3B verify this DVD", but that
could take days. (Especially since just a few minutes before K3B was
able to verify a CD). 

Instead resort to mounting the iso and comparing checksums with md5sum

- Use K3B to copy the DVD you just burned to an iso. Tools -> Copy

- This will result in a .iso file that is nearly, but not quite the
  same size as the iso you burned in the first place. Why? Heaven only
  knows. (In fact, I think because the DVD is mounted, the files
  copied, and a new .iso is created, but there are small differences
  in the iso creation headers, resulting in a small difference in
  size. As far as i can tell, it is impossible to simply "copy" an iso
  image from a CD or DVD.)

- If you can't mount as a user, su to root

su -l root

- cd to the directory with the 2 .iso files

- Make directories as mount points for the two .iso images, and mount
the .iso via the -o loop option of mount.

mkdir dvd_orig
mount openSUSE-10.3-GM-DVD-i386.iso ./dvd_orig/ -o loop=/dev/loop0

mkdir dvd_copy
mount su1030.001.iso ./dvd_copy/ -o loop=/dev/loop1

- cd into the original directory, use find to run md5sum on all files,
  and write the results to the parent directory. Note the >> in
  writing the ms5sum results. This takes a few minutes to run. If you
  are antsy, make a new terminal window, and tail the dvd_orig.txt file.

cd dvd_orig
find . -type f -exec md5sum {} \; >> ../dvd_orig.txt 

- cd to the dvd_copy directory and use md5sum to verify. Save the
  results to the parent directory. Later we'll count the results and
  the OK results to make sure everything was fine. You only need > for
  the i/o redirection because this is one command (find ran md5sum
  many, many times).

cd ../dvd_copy
md5sum -c ../dvd_orig.txt > ../dvd_copy.txt  

- cd to the parent directory and use wc -l and grep | wc -l to check
  that we have an OK for every file

wc -l dvd_copy.txt

The response is something like 
4152 dvd_copy.txt

grep ": OK" dvd_copy.txt | wc -l

This should respond with the same number:

- Umount the two .iso files, delete the .txt files and delete the directories.

umount ./dvd_orig
umount ./dvd_copy
rm dvd_copy.txt dvd_orig.txt
rmdir dvd_orig
rmdir dvd_copy