Hot Topic #2 , "Using a CD-Writer with Linux"

1. What type of CDRW Drives work with Linux?

Linux has been branded with the Server Operating System for a long time, and along with it, it managed to pick up support for Server hardware, better than for desktop system hardware. This is not really the case today, with the exception of some odd devices, but way back when CDRWs first came out, the ones made for Servers were thought of in stability and backup performance terms, and thus they were all SCSI.
Thus, you either need to have a SCSI CDRW to work it under Linux, or if you have an IDE one, fool Linux into believing it is a SCSI CD Writer.
To give you an idea, any standard SCSI CDRW will work with Linux, provided it has a compatible SCSI Interface card, such as common Adaptec models. I also hear that pretty much all IDE CDRWs don't have any problems either. Other Interfaces such as PCMCIA (PC Card), USB and Parallel can be problemmatic, check out places like for hardware compatability before going out and purchasing any of these drives.
There is a specific and generalised list of compatible writers HERE.

3. Setting up an IDE CDRW Drive with Linux

Power off your PC and install your writer drive if you haven't already, and let Linux identify that this drive is present on startup.

Next, ensure that you have at least the cdrecord software installed on your box. On modern Linux distros (such as RedHat 7.1), cdrecord 1.9 comes with them. You can obtain cdrecord from Here.
Next, copy and paste this script into an editor, chmod it 755 and run it as root. This will make the relevant file entries in your /dev directory.
test `whoami` = 'root' || echo "You must be root to execute the commands."
cd /dev/
umask -S u=rwx,g=rwx,o-rwx
[ -f loop0 ] \
    || ./MAKEDEV loop \
    || for i in 0 1 2 3 4 5 6 7; do mknod loop$i b 7 $i; done
[ -f sg0 -o -f sga ] \
    || ./MAKEDEV sg \
    || for i in 0 1 2 3 4 5 6 7; do mknod sg$i  c 21 $i; done
Thanks to Winfried Trümper for the script, and various other tips within this document.

Next, copy and paste the following, chmod it 755, and run it as root:

test `whoami` = 'root' || echo "You must be root to execute the commands."
cdrecord -scanbus > /dev/null
if ! (pidof kerneld || test -f "/proc/sys/kernel/modprobe"); then
    echo "Neither kerneld nor kmod are running to automatically load modules".
report_no_autoload() {
    echo "Ensure the module $1 is loaded automatically next time."
if test ! -f "/proc/scsi/scsi"; then
    report_no_autoload scsi_mod  &&  insmod scsi_mod
if ! grep "^........ sg_" /proc/ksyms > /dev/null; then
    report_no_autoload sg  &&  insmod sg
if ! grep "^........ sr_" /proc/ksyms > /dev/null; then
    report_no_autoload sr_mod  &&  insmod sr_mod
if ! grep "^........ loop_" /proc/ksyms > /dev/null; then
    report_no_autoload loop  &&  insmod loop
if ! grep iso9660 /proc/filesystems > /dev/null; then
    report_no_autoload iso9660  &&  insmod iso9660
echo "The following is only needed for IDE/ATAPI CD-writers."
if ! grep ide-scsi /proc/ide/drivers > /dev/null; then
    report_no_autoload ide-scsi  &&  insmod ide-scsi
cdrecord -scanbus

3. Setting up an IDE CDRW Drive with Linux

As root, type cdrecord -scanbus and see if your cdwriter is noticed by cdrecord.

4. Setting up a SCSI CDRW Drive with Linux

Sorry! I've not finished this page yet. Please come back soon!