Getting your CD burner working in Linux
NOTE: The recent distro releases will automatically setup CDR drives on installation, and the 2.6.x kernels no longer use SCSI emulation. So this article is mostly obsolete, check before you start making changes.
Recordable CD's are a great way to store backups, mp3s, and other files that don't need to be taking up space on your hard drive. Linux is very good at creating CD's, because of better memory management than some other operating systems there are fewer errors resulting in wasted CD's. But there is a catch, Linux only supports SCSI CD writers. So to use your IDE CD writer you must use SCSI emulation. Hopefully this will help you get it working.
First off, I am assuming the following.
You have an IDE CD writer that is supported by Linux
You do not have any SCSI devices.
You are using LILO as your boot loader.
You have a recent kernel, 2.2.x or higher.
You have a basic knowledge of command prompt use.
First open a terminal, su to root, and open /etc/rc.d/rc.local with your favorite editor, I like nano.
This is the path RedHat uses, if you are using SuSE then edit /sbin/init.d/boot.local. Some other distro's may be different. At the end of the rc.local or boot.local file add two lines as follows.
Don't forget to save before you exit.
The first line enables scsi emulation, and the second is for the generic scsi driver.
Note that if you have these compiled into your kernel as I do you don't need to add these lines. If your using the kernel installed with the OS and haven't recompiled it then you will most likely need these lines.
Next we need to remove the link from /dev/cdrom to /dev/hdc and link /dev/cdrom to /dev/scd0
And finally we need to add a line to lilo.conf
Add a line like this to it,
If there is already an append line in lilo.conf then just add hdc=ide-scsi to it.
You may end up with something like append="mem=128M hdc=ide-scsi"
You may need to adjust the hdc to the location of your CDR drive.
hda = primary master
hdb = primary slave
hdc = secondary master
hdd = secondary slave
Here is what my /etc/lilo.conf looks like,
Don't forget to save, and you must run lilo whenever you edit lilo.conf
That should do it, reboot and you should be able to read and burn CD's. Cdrecord is the base program for the command line to burn CD's, there are a few graphical fronts for it, Xcdroast is a good one and a web search will turn up others.