Verifying YDL 2.0 CDs


Subject: Verifying YDL 2.0 CDs
From: Bill Fink (billfink@capu.net)
Date: Sat Jun 09 2001 - 09:59:54 MDT


On Fri Jun 08 2001, Yukiko Takiguchi wrote:

> I got YDL2.0 CD and I'll install it this weekend to my
> PowerBook G3 (lombard).
>
> At 4:22 PM -0600 6/7/01, Dan Burcaw wrote:
> > Art,
> >
> > Sounds like you got one of our bad discs.
>
> How can I know the CDs are bad or OK before installing???

This is how I verified my YDL 2.0 CDs. It requires that you have at
least 700 MB free on a single partition. I also recommend using a
2.2 kernel rather than a 2.4 kernel since the 2.4 kernel may hang your
system if you encounter any IO errors in the process, which will happen
if you happen to have a bad CD (I used a 2.2.18 kernel for this testing
instead of my normal 2.4.4-pre1 kernel).

For the sake of the following discussion, I'm assuming that the 700 MB
of free disk space is in /home, but you can use any partition that has
the necessary available space. For each CD you wish to verify, do the
following as root (so exercise proper caution) after inserting the CD
in the CDROM drive:

        mkdir /home/cdrom
        mount -t iso9660 /dev/cdrom /mnt/cdrom
        cptree /mnt/cdrom /home/cdrom

where cptree is an alias defined as:

        '( chdir \!^ ; tar cf - . ) | ( chdir \!:2 ; tar xpf - )'

Or if you don't want to use the alias, the cptree command would expand
to the equivalent:

        ( chdir /mnt/cdrom ; tar cf - . ) | ( chdir /home/cdrom ; tar xpf - )

Basically, this just copies the entire CD tree to disk using tar. Note
the copy will take a long time. You can monitor its progress with:

        df /home

and watch the available disk space shrinking as the copy proceeds.

If this all goes well, then do the following recursive diff:

        diff -r /mnt/cdrom /home/cdrom

to verify that everything was copied successfully. If everything
worked properly, there should be no differences reported. The diff
will also take a long time. If you wish to monitor its progress,
first find the process ID of the diff process with:

        ps ax | grep diff

Then use lsof (as root) to see which particular file is being diff'ed
at the moment within the overall recursive diff:

        lsof -p Process_ID_Of_Diff_Process

Also, once you've started the copy from CD to disk, in a second window,
check the end of /var/log/messages using tail to see if there are any
system errors reported during the copying process:

        tail -f /var/log/messages

The "-f" option to tail will cause it to report any new messages that
are appended to /var/log/messages as they show up.

If you have a bad CD, you will eventually get lots of CDROM errors similar
to the following:

Jun 7 22:27:04 gwiz kernel: hdc: cdrom_decode_status: status=0x51 { DriveReady SeekComplete Error }
Jun 7 22:27:04 gwiz kernel: hdc: cdrom_decode_status: error=0x30
Jun 7 22:27:07 gwiz kernel: hdc: cdrom_decode_status: status=0x51 { DriveReady SeekComplete Error }
Jun 7 22:27:07 gwiz kernel: hdc: cdrom_decode_status: error=0x30
Jun 7 22:27:07 gwiz kernel: hdc: ATAPI reset complete
Jun 7 22:27:07 gwiz kernel: end_request: I/O error, dev 16:00 (hdc), sector 1123484
Jun 7 22:27:10 gwiz kernel: hdc: cdrom_decode_status: status=0x51 { DriveReady SeekComplete Error }
Jun 7 22:27:10 gwiz kernel: hdc: cdrom_decode_status: error=0x30
Jun 7 22:27:13 gwiz kernel: hdc: cdrom_decode_status: status=0x51 { DriveReady SeekComplete Error }
Jun 7 22:27:13 gwiz kernel: hdc: cdrom_decode_status: error=0x30

The tar copy process may also report errors similar to the following:

tar: ./YellowDog/ppc/tkinter-1.5.2-27.ppc.rpm: File shrank by 142017 bytes; padding with zeros

If you have a good CD, you shouldn't see any CDROM or tar errors.

Finally, remove the disk copy with:

        \rm -rf /home/cdrom

And unmount and eject the CDROM with:

        umount /mnt/cdrom
        eject /dev/cdrom

Repeat this process for each CD you wish to verify.

If you have a bad CD, you may wind up with a stuck tar process that
you can't kill, in which case you will have to reboot your system to
get rid of it.

In my case, the Tasty Morsels and Source CDs were fine, but unfortunately
I discovered that I had a bad Install CD, so I have to wait for a
replacement before I can play around with YDL 2.0.

                                                -Hope this helps

                                                -Bill



This archive was generated by hypermail 2a24 : Sat Jun 09 2001 - 09:05:31 MDT