88 lines
2.5 KiB
Plaintext
88 lines
2.5 KiB
Plaintext
Mini-Howto for verifying a selfmade CD
|
|
|
|
1) verifying the data layer
|
|
|
|
To verify if all data on the disk can be read,
|
|
use SCSI verify. This can be done with the
|
|
sformat utility.
|
|
|
|
use: sformat -verify [target] [lun] [scsibus]
|
|
|
|
If the CD-R device is connected to target 2 on SCSI bus 0
|
|
sformat -verify 2 0
|
|
|
|
sformat can be found on
|
|
|
|
https://sourceforge.net/projects/schilytools/files/sformat/
|
|
or
|
|
https://sourceforge.net/projects/schilytools/files/schily-*
|
|
|
|
NOTE: Not all CD-ROm drives support verifying
|
|
NOTE: All TAO tracks end in 2 unreadable run-out sectors
|
|
|
|
2) verifying the filesystem layer
|
|
|
|
A quick check is to mount the CD and to use star to read
|
|
all files on the filesystem.
|
|
|
|
mount -r /dev/cdrom /cdrom (modify for your OS)
|
|
cd /cdrom
|
|
star -cPM . >/dev/null
|
|
|
|
If no errors can be found, all files are readable.
|
|
|
|
star can be found on
|
|
|
|
http://sourceforge.net/projects/s-tar/files/
|
|
|
|
|
|
You also may want to compare the filesystem on the CD
|
|
with the original data. This can be done with star too.
|
|
|
|
|
|
(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v)
|
|
|
|
2a) verifying the iso image before creating the CD
|
|
|
|
You may check the filesystem image by mounting it with my
|
|
"fbk" on Solaris or the loopback driver on Linux.
|
|
|
|
On Linux type:
|
|
mount isoimage.raw -r -t iso9660 -o loop /mnt
|
|
|
|
On SunOS type:
|
|
mount -r -F fbk -o type=hsfs /dev/fbk0:isoimage.raw /mnt
|
|
|
|
For Solaris 8 and later you may also use the Sun lofi driver (see README.sun-lofi)
|
|
|
|
The check the filesystem with:
|
|
|
|
(cd /master_for_cd; star -cPM .)|(cd /mnt; star -diff -v)
|
|
|
|
|
|
When doing this you have to know about the bugs in Linux/Solaris
|
|
|
|
Mkisofs before 1.10 and Linux have a bug with timezones.
|
|
If you are using mkisofs-1.10 and newer on Linux, you need to disable
|
|
comparing times:
|
|
|
|
(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!times)
|
|
|
|
The same is needed if you are using mkisofs pre-1.10 on Solaris
|
|
|
|
Solaris has a bug with hardlinks. It generates different inode numbers
|
|
for the hardlinks to a file. This makes it impossible for star to
|
|
check hard links. Use
|
|
|
|
(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!hardlink)
|
|
|
|
in this case.
|
|
|
|
NOTE: Some operating systems have a read ahead bug that causes I/O errors for
|
|
the last file(s) on a CD. This seems at least to be true for all Linux versions
|
|
and for Solaris 7 FCS. For Solaris 7 there is a patch (107465-02) that you should
|
|
install. This I/O error problem does not occur with DAO disks and with TAO disks
|
|
that have been written with cdrecord -pad.
|
|
|
|
Joerg Schilling
|