Q: How do I get rid of SCSI CD-ROM mount failures with "CD-ROM not a valid device" messages?

My original drive corrupted, so I replaced it with separate SCSI drives for DOS and Linux. I recompiled the kernel, and installed Linux 2.0.34 on the new disk.

After installation, when trying to mount CD-ROM, I get a message that the CD-ROM is not a valid block device.

"mount: the kernel does not recognize /dev/cdrom as a block device. (Maybe "insmod driver"?)"

A: The first thing I would check, with this particular error, is whether the CD-ROM cable has come loose. Usually this message means that the CD-ROM was not found on boot. You can check /var/log/dmesg, to see if the CD-ROM was detected.

Also, check to see if /dev/cdrom exists. It should be a symbolic link pointing to the actual CD-ROM device (which, in turn, you can find by reading the output of "dmesg | more"). The correct device to link to will often be /dev/sdc0 .

Check /proc/scsi/scsi. Is the CD-ROM listed there?

There should be a line in /etc/fstab like this:
/dev/cdrom /mnt/cdrom iso9660 noauto,unhide,user 0 0

or this
/dev/scd0 /mnt/cdrom iso9660 noauto,unhide,user 0 0

If it's cdrom instead of scd0: You can either edit the fstab or create the /dev/cdrom symlink. (ln -sfi /dev/cdrom /dev/scd0) The symlink /dev/cdrom is a Linux convention, and used by default by programs such as xplaycd.