Next Previous Contents

1. Introduction

Many people use Linux to burn CD-ROMs, because it is reliable and easy. No bluescreens while burning and no headaches about getting the right combination of hard- and software. It just works once properly set up. The CD-writing HOWTO explains the setup, how to put data on the media and gives some interesting applications kindly submitted by the readers.

1.1 Copyright, license and terms of usage

Copyright Winfried Trümper 1996-2000. All rights reserved.

Redistribution and use, with or without modification, are permitted provided that the name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. In this sense, translations are welcome and need not to be authorized by me.

The author disclaims all warranties with regard to this document, including all implied warranties of merchantability and fitness for a certain purpose; in no event shall the author be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use of this document.

Short: read and use at your own risk. No money-back guarantee. If you want to understand why this document has always been under a very weak license and not under the gnu GPL or similar restrictive, then you should read this article from the german computer magazine c't: (currently only in German language).

1.2 Availability

As the editor of this document I mostly sum up what other people report to me. I'm not a software developer nor an expert in hardware, so for specific problems with hard- or software you may want to ask somebody else. What always makes sense is to report solutions for problems not already covered by the HOWTO to me.

I get several hundred e-mails concerning the CD-Writing HOWTO each year. So please be patient with me, as I cannot always answer within hours. However, I read everything immediately and put you on my CDR-queue. Before you ask a question, please make sure you are aware of the newest version of this document; it is always available from

1.3 Suggested readings

You may need the handbook for your Linux-distribution to learn about installing a new kernel. I'm really clueless about this issue when it comes to any other Linux distribution than my own.

The CD-R FAQ is a general FAQ about compact-disk recordables (CD-R), CD-writers and the required software. As most CD-writers can be used to read CD-ROMs, too, you may want to read the Linux CD-ROM HOWTO, the Linux SCSI HOWTO and the Linux Kernel HOWTO.

1.4 Terminology ... lasers at maximum ... fire!

CD-ROM stands for Compact Disc Read Only Memory, a storage medium utilizing an optical laser to sense microscopic pits on a colorful shimmering disk. The pits represent the bits of the information and are so petite that some billions of them fit on the disc. Thus a CD is a mass-storage medium.

The term CD-R is a short form of CD-ROM recordable and refers to a CD that doesn't have those microscopic pits on its surface. Thus it is empty. The CD-R has a special chemical film inside into which pits can be burned. This is done by giving the laser which normally just senses the pits a little bit more power so it burns the pits. This action can only be taken once on a CD-R. You can leave out some areas for later writing, creating a so called multi-session CD.

The CD-ROM rewritable (short: CD-RW) was developed to work around the limitation of CD-R media. With a CD-RW burner the laser can do both, burn pits into the media and also melt the media back into its original state. This is possible, because the laser does not really burn holes into the media, which would get lost in a puff of smoke. A decent analogy for the technique is an ice-hockey game: by driving over the ice, a players (laser) leave scratches in it. The pattern in the ice (media) is a recording of what happened on the ice during one round. In between the periods of the game, the Zamboni cleaning car drives over the ice and fills the scratches by melting the very top layer of the ice. (Zamboni is the brand name for cleaning cars in ice-hockey stadiums). This way the pattern on the ice is cleared and a new round can begin. The scientific term for evaporating, condensing, melting and freezing is "phase change", thus the name "phase change devices" for CD-RW-writers.

This HOWTO deals with the task of writing CD-Rs and CD-RWs. Welcome on board, captain.

Adaptor vs. Adapter

The the most frequent spelling within the kernel sources is adapter (adapter: 4283, adaptor: 154). Even more important, the parameters of module options and aliases are naturally affected, like in "scsi_hostadapter". So in order to achieve a consistent spelling throughout configuration examples and document text, I follow that convention regardless of the correct spelling.

1.5 Supported CD-writers

USB CD-writers are currently not supported at all. Apart from that you can safely assume that most newer IDE/ATAPI- and SCSI-writers work under Linux. Newer drives are mostly MMC-compliant and are therefore supported. If the SCSI-version of a particular writer works, the IDE/ATAPI-version will most likely work and vice versa. However, some people want to get a warm and fuzzy feeling by reading the exact model of their writer in some sort of compatibility list. That is the reason why I didn't throw the following list out of the HOWTO. Here is a comprehensive summary of drives reported to work with cdrecord:

Acer:           CDRW 4432A, CDRW 6206A, CD-R/RW 6X4X32, 8432A
BTC:            BCE 621E (IDE)
Compro:         CW-7502, CW-7502B
Creative:       MK 4211, RW 4224E,
Delta:          OME-W 141
Dysan:          CRW-1622
Elite:          Elite b444.41
Goldstar:       CED-8041B 
Grundig:        CDR 100 IPW
Guillemot:      Maxi CD-R 4X/8X
HP:             SureStore 4020i, SureStore 6020i,
                C4324, C4325
                CD-writer+ 7100, 7200i, 7500e, 8100i, 8110i, 8200i Plus,
                           8250i, 9100i, 9110i, 9200e, 9210, 9300i, 9310i
Hi-Val:         CDD 2242, CDD-3610, 
Iomega:         ZIPCD 4x650
JVC:            XR-W 2001, XR-W 2010, XR-W 2040, XR-W 2042, XR-RW 2224,
                YR 2626
Kiss:           CDRW (no model given)
Kodak:          PCD 200, PCD 225, PCD 260, PCD 600
Matsushita:     matsushita is the japanese name for panasonic, please see there
Memorex:        CRW-620, CDR-622, CRW-1622, CRW-2224, CDRW-4420 
Microboards:    PlayWrite 2000, PlayWrite 4000 RW, PlayWrite 4001 RW
MicroNet:       MasterCD Plus 4x4, MasterCD Plus 4x6
Mitsubishi:     CDRW-226
Mitsumi:        CR-2401-TS, CR-2600 TE,  CR-2801 TE, 
                CR-4801 TE, CR-4802 TE,  CR-4804 TE
Nomai:          680.RW
Olympus:        CDS 615E, CDS 620E
Optima:         DisKovery 650 CD-R
OTI:            CDRW 965, CDRW 975 (Socrates 1.0)
Panasonic:      CW-7285, CW-7502, CW-7503, CW-7582
Philips:        CDD-521/10, CDD-522,
                CDD-2000, CDD-2600, CDD-3600, CDD-3610, CDD 4201
                PCA 267cr, PCA 460 RW, PCRW 404,
                Omniwriter 26, Omniwriter 26A,
Pinnacle:       RCD-100, RCD-1000, RCD-5020, RCD-5040
Pioneer:        DW-S114X 
Plasmon:        CDR 480, CDR 4220, RF-4100, RF-4102, CDR 4400
Plextor:        CDR PX-24 CS, PX-412 C, PX-R412 C
                PX-R 810Ti, PX-R 820T, PX-W 4220Ti, PX-W 8220T, PX-W 8432T
                Plexwriter RW 4/2/20 
Procom:         PCDR 4 
REC:            820s 
Ricoh:          RO-1420C+, MP 1420C, MP 6200S, MP 6201S, MP 7040A, MP-7060A
Samsung:        SW-204
Sanyo:          CRD-R24S
Smart and
Friendly:       CD-RW 226, CD-R 1002, CD-R 1002/PRO, CD-R 1004,
                CD-R 2004, CD-R 2006 PLUS, CD-R 2006 PRO, CD-RW 2224,
                CD-R 4000, CD-R 4006, CD-R 4012, CD-RW 4424A
                CD-R 8020, CD-R 8220
Sony:           CDRX 100E, CDRX 120E, CDRX 140S-RP,
                CDU 920S, CDU 924, CDU 926S, CDU 928E, CDU 948S
Taiyo Yuden:    EW-50
TEAC:           CD-R50S, CD-R55S, CDR-55S, CDR-55K,
                CDR-56S-400, CD-R56S-600, R56S-614
Traxdata:       CRW 2260,
                CDR 4120, CDR 4120 Pro, CDRW 4260, CDRW 4424, CDR 4800
Turtle Beach:   2040R
Waitec:         wt 2036, wt 2444ei
WPI (Wearnes):  CDRW-622, CDR-632P
Yamaha:         CDR-100, CDR 102, CDR-200, CDR-200t, CDR-200tx
                CDR-400, CDR-400c, CDR-400t, CDR-400tx, CDR-400Atx
                CDW-2216E, CRW-2260, CRW-2260t,
                CRW-4250tx, CRW-4260t, CRW-4260tx, CRW-4261, CRW-4416S,
                CRW-6416S, CRW-8424E
Table: CD-writers supported under Linux

The detailed list of models which have been reported to work or not to work under various Unix-like operating systems is available online from

If your hardware isn't supported you can still use Linux to create an image of the CD. You may wish to do so because most burning software for DOS does not deal with RockRidge-extensions (Unix-like filesystems on CD-ROM). In a second step, you can use DOS or Macintosh software to write the image to the CD-R.

1.6 Supported "features"

Two There are two classes of utilities: the hardware drivers and the data-formatters. The hardware drivers support the following features:

Supported Feature   cdwrite-2.1     cdrecord-1.6    cdrdao
IDE/ATAPI           yes             yes             yes
Parallel Port       no              yes             yes
CD-RW               no              yes             yes
Audio CD            yes             yes             yes
Data CD-ROM         yes             yes             partial
Multisession        partial         yes             no
TAO (track at once) yes             yes             yes
DAO (disk at once)  no              partial         yes
packet writing      no              no              no

cdwrite is unmaintained software referenced only for completeness. Please use cdrecord instead, as it supports a wider range of hardware and has significantly more features. The main benefit of cdrdao is the ability to create audio CDs without two seconds of silence between the tracks (writing in disk-at-once (DAO) mode).

The tools classified as "data-formatters" organize the data on the media ("put a filesystem on it").

Feature         mkisofs         mkhybrid        mkvcdfs 
ISO 9660        yes             yes             no
RockRidge       yes             yes             no
El Torito       yes             yes             no
HFS             no              yes             no
Joliet          yes             yes             no
Multisession    yes             yes             no
CD-Extra        yes             yes             no
Video-CD        no              no              yes

The most obvious difference between the ISO 9660 filesystem compared to the ReiserFS or Extended-2 filesystem is: you can't modify files once they are written. Other limitations of the ISO-9660-filesystem include:

RockRidge is an extension to allow longer filenames and a deeper directory hierarchy for the ISO-9660 filesystem. When reading a CD-ROM with RockRidge extensions under Linux, all the known properties of files like owner, group, permissions, symbolic links appear ("feels like a Unix filesystem"). These extensions are not available when reading the CD-ROM under DOS or the heterogenous Windows-family of operating systems.

El Torito can be used to produce bootable CD-ROMs. For this feature to work, the BIOS of your PC must support it. Roughly speaking, the first 1.44 (or 2.88 if supported) Mbytes of the CD-ROM contains a floppy-disk image supplied by you. This image is treated like a floppy by the BIOS and booted from. (As a consequence, while booting from this virtual floppy, your original drive A: (/dev/fd0) may not be accessible.)

HFS lets a Macintosh read the CD-ROM as if it were an HFS volume (the native filesystem for MacOS).

Joliet brings long filenames (among other things) to newer variants of Windows (95, 98, NT). However, the author knows of no tool that allows long filenames under plain DOS or Windows 3.11.

Video-CDs can be directly played on DVD-devices.

Section 2.8 lists the availability of the mentioned software.

1.7 Mailing Lists

If you want to join the development team (with the intention to actively help them), send e-mail to [email protected] and put the word subscribe in body of the message.

Next Previous Contents