X-CD-Roast: CD Writer Software

Mr. Niederreiter tells us all about his graphical user interface for writing data to a CD-ROM.
Installation of X-CD-Roast

At the time of this writing (August 1997) version 0.96a is the newest version of X-CD-Roast. You can download it from http://www.fh-muenchen.de/home/rz/xcdroast/. On this web page you will also find the complete documentation and further information. You can also get X-CD-Roast from ftp://sunsite.unc.edu/pub/Linux/utils/ and its mirrors. More detailed information about installation and usage can be found in the X-CD-Roast README file. In this article I discuss only the basics.

First Steps

At this point, I assume that you have installed X-CD-Roast and connected all your necessary hardware correctly. Now start X-CD-Roast as root, and you will be prompted to specify your hardware settings.

Figure 2. Title screen

The Setup Menu

In this menu you specify all the hardware X-CD-Roast needs, including your CD writer, the hard disk partition that will store any CD images, your sound device and so on.

A screen shot showing an example setting for the CD devices is shown in Figure 3. You can always use your CD writer to read data or audio from a CD. It's not necessary to use an additional CD-ROM drive as shown in Figure 3.

Figure 3: Part of the Setup Menu

Data CDs

Use the Copy menu to copy pure data CDs. A data CD is a CD containing only one track written in a certain file system. Usually the file system ISO-9660 is used, but a few special file systems like those from Sun or Apple can also be used. X-CD-Roast is able to copy such a CD independent from the file system by doing a byte-to-byte copy.

First, X-CD-Roast dumps the entire contents of a original CD to the image partition on the hard disk. It is done in this way:

cat /dev/sr0 >/dev/sdb4

Note that any existing file system on that image partition is overwritten by the CD image. Then, the image is burned to a CD-Recordable using the cdwrite utility.

Figure 4. The Copy CD Menu

Audio and Mixed-Mode CDs

When you wish to copy an audio CD (a music CD) or a mixed-mode CD (a CD that contains one data track and some music tracks), you must copy each track to a single file. X-CD-Roast is equipped with a built-in player so you can listen to each track via a sound card. You can read audio tracks in any sequence and from as many CDs as you wish, as long you keep in mind that only about 74 minutes (or 63 minutes) fit on one CD-Recordable.

The reading of raw audio data from a CD is quite complicated. X-CD-Roast does not simply play a track and record it simultaneously via a sound card, but it does get the audio data via the SCSI bus. X-CD-Roast includes a program cdda2cdr which uses the generic SCSI interface to request the audio data from a CD-ROM drive (or the CD writer) and saves it raw to a file. After you have finished reading in audio tracks, all audio files are burned with the cdwrite utility to the CD-Recordable.

Additional information about the generic SCSI interface can be found in the SCSI Programming HOWTO at ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/SCSI-Programming-HOWTO.

Figure 5. Reading Audio Tracks from a Mixed-Mode CD

The Quick Copy Menu

If you have a CD-ROM drive as well as a CD writer connected, you can speed up the process of copying a data CD considerably. Put the original CD in the CD-ROM drive and a CD-Recordable in the CD writer, and X-CD-Roast will simultaneously read from the CD-ROM drive and write to the CD writer. Thus, there is no need for an image partition, and the time to copy a CD is halved. On the other hand, this procedure can be quite risky. If your CD-ROM drive provides the writer with the data too slowly, you can experience buffer problems that result in a wasted CD-Recordable. For this reason the CD-ROM should be twice as fast as the CD writer. Use this feature with caution.

The Master Menu

If you want to create a CD using your own data, you have to master the data. First you provide a directory tree that contains all the files you wish to burn on a CD-Recordable. This tree can be about 650MB large and mounted anywhere in your file system. (It can even be on a NFS-exported directory.) Now, tell X-CD-Roast how to master the data (see Figure 6) and specify a volume label and, then, start the master process. All your files to burn are now converted into an ISO-9660 CD image that can be burned on the CD as the last step.

X-CD-Roast calls the utility program called mkisofs to do the master job. How long the master process takes depends on the speed of the hard disk, the speed of the processor and the available memory. A 650MB image can be created within 10 minutes on a fast Pentium, but a slower computer can take up to several hours to do the same task. For more detailed information on mkisofs, please consult the man page for this program.

Figure 6. Master: Select Your Image Type