CD-ROM and Linux

A CD-ROM drive is one of the most popular hardware upgrades for personal computers and is becoming a standard peripheral for new systems. In the article, Jeff looks at support for CD-ROM under Linux.
Common Problems

If you encounter problems setting up CD-ROM support under Linux, here is a list of things to check for. (See the CD-ROM HOWTO for more information.)

  • Are the appropriate CD-ROM driver(s) compiled in the kernel? Try the command cat/proc/devices to see which drivers are installed.

  • Are you running the newly configured kernel? Use uname -a and check the time-stamp to see.

  • Is the drive recognized at boot time? The dmesg command should redisplay the boot messages if they scroll by too quickly to read.

  • Did you create the proper device files and set protections? The /dev/MAKEDEV script is one way to do this.

  • Is the ISO-9660 file system compiled in the kernel? Try cat /proc/filesystems and look for iso9660.

  • Is there a known good CD-ROM (not audio CD) in the drive?

  • Did you use the correct options to mount? You need to specify -t iso9660, -r (read-only), the CD-ROM device file, and an empty directory. You should run this as user “root”.

  • Can you read data from the drive? Try using the dd command and checking for disk activity (e.g., dd if=/dev/cdrom of=/dev/null bs=2048).

For some drives, if they are located at a non-standard I/O address, you may need to edit the appropriate kernel driver header file.

Getting IFS

For More Information

Here are a number of additional useful sources of information related to CD-ROM under Linux.

The Linux CD-ROM, SCSI, and Distribution HOWTO documents are freely available from major Linux archive sites, including in the directory /pub/Linux/docs/HOWTO. For those without network access, printed copies of the Linux HOWTOs are also published by a number of vendors, or you may be able to find them on a local computer bulletin board system.

The latest and most complete information on the Panasonic/SoundBlaster CD-ROM kernel driver can be found in the file README.sbpcd, usually found in the directory /usr/src/linux/drivers/block.

Additional information on commands such as mount and umount can be found in the corresponding Linux man pages.

For those with access to Usenet, the following news groups discuss information related to CD-ROM:

  • comp.publish.cdrom.hardware

  • comp.publish.cdrom.multimedia





A Frequently Asked Questions (FAQ) document for the newsgroup is also available; it is archived on many Internet sites including

The Internet site has a large archive of CD-ROM information and software; look in the directory /pub/cdrom.

The Linux Documentation Project has produced several books on Linux; the most useful for new users is Linux Installation and Getting Started. These are freely available by anonymous FTP from major Linux archive sites or can be purchased in hard-copy format.

The Linux Software Map (LSM) is an invaluable reference for locating Linux software, including the programs mentioned in this article. The LSM can be found on various anonymous FTP sites, including

( is a software designer for a telecommunications company in Ottawa, Canada. He has been using Linux for almost two years and is the author of the Linux Sound and CD-ROM HOWTO documents.