CD Burning in GNU/Linux
Burning CD's can be considered an essential in today's systems. Under Windows, applications such as Nero Burning ROM and EasyCD Creator fill the need. So what do you do in Linux? Here is a set of choices to fill that need.
Some apps rise quickly to the top of the list, and K3b is definitely one of those. Under it's simple interface you can burn data and audio CD's, as well as VCD's and even DVD's. Convenient features, like audio ripping, abound and can meet almost any need. KDE 3.1 or greater is a requirement, so if that is a problem, you might want to check the alternatives below. Setting up K3b can be tricky due to the number of required and optional dependencies, but it is well worth the effort. If possible, try the versions and methods consistent your chosen Linux distribution (apt, emerge, yum, urpmi or similar.) If you must, or just want to, compiling from source follows the standard autoconfig mantra:
./configure make su -c "make install"
For detailed instructions, follow the installation instructions on the K3b site. Just remember to start with any required dependencies first.
K3b operation is an shining example of powerful simplicity. Select a project type, such as a new data or audio CD, and just drag and drop your files. The Tools menu makes simple work of routine tasks such as burning a disk from an iso image, or erasing a CD-RW.
Although not as feature laden as K3b, X-CD-Roast can accommodate most routine CD creation needs, and it doesn't need KDE3, making it especially attractive on older systems.
From the shell prompt
If you're a fan of the command line, fear not. Cdrecord, and its companion utilities, such as mkisofs, form a very full featured burning suite, so good at what it does in fact, that both of the GUI apps above use it underneath. The CDRDAO application is another important command line tool that handles the Disk-at-Once mode critical to the more sophisticated CD features, such as eliminating the gap between audio tracks.
Kernel Options and Troubleshooting
OK, here is an ugly bit. If you are still using a 2.4.x or earlier kernel, you will need to enable SCSI emulation for an IDE burner to be able to use it with any of the tools above. If this sounds complicated, it usually isn't. Most modern distros will set this up during the install, but if yours didn't here is a quick overview. To turn on the SCSI emulation, you will need to identify the device name for your CDR drive, and add a parameter to your GRUB or LILO configuration. The device name will be similar to hdc. The name identifies which IDE channel, primary or secondary, the drive is connected to, and the master or slave setting on that channel. 'hdc' is master on the secondary controller, for example. The magic kernel parameter for this would be hdc=ide-scsi and is added to the end of the kernel line for GRUB, or to the append line for LILO. After booting with this parameter in place, you can verify the setup with the command cdrecord -scanbus. If this sounds complicated, just remember, you only have to do this once, if you have to at all.
Good luck and happy burning!