how to use cdrecord

Polytropon freebsd at
Sun Mar 14 13:06:56 UTC 2010

On Sun, 14 Mar 2010 20:48:22 +0800, Aiza <aiza21 at> wrote:
> No I do not. how do i do this?

If you don't want to compile it into your kernel, load it

# kldload atapicam

You can automate it using the appropriate line in /boot/loader.conf,
I think it's atapicam_load="YES"

Then you get something like this:

% camcontrol devlist
<SCANNER  2.02>                    at scbus0 target 6 lun 0 (pass0)
<HL-DT-ST DVD-RAM GSA-H58N 1.01>   at scbus2 target 0 lun 0 (cd0,pass1)

The scanner is a real SCSI scanner, the DVD recorder is
an ATAPI drive. You see it's device number is 2,0,0,
and the device node is /dev/cd0. You need access to
/dev/pass1, too. (If the scanner wouldn't be present,
it would be /dev/pass0.)

If you want to burn a data CD, use something like this:

% cdrecord dev=2,0,0 speed=16 -v -eject -tao -data <iso-file>

For a music CD:

% cdrecord dev=2,0,0 speed=16 -v -eject -dao -audio <track1> <track2> ...

If you want to combine the mkisofs step with the burning
step (instead of first creating the ISO, then burnin it),
you can do something like this:

% mkisofs -r <files> | cdrecord dev=2,0,0 speed=16 -v -eject -tao -data -

It works similar with DVDs, just you use growisofs from
the port dvd+rw-tools here:

% growisofs -dvd-compat -Z /dev/dvd=$1

The /dev/dvd is a symling that points to /dev/cd0 - again, the
ATAPICAM cd driver is used instead of ATAPI's acd. To make this
symlink, I have

	link    acd0    cdrom
	link    cd0     dvd

in /etc/devfs.conf. This makes refering to the example in
"man growisofs" more easy. :-)

If you don't have this symlink, you must use /dev/cd0 (or
the correct device name for the "SCSI" drive) in the
command. You can check this with "camcontrol devlist"
where both numerical and device node are displayed.

Additionally, you can do the same with growisofs as I have
shown you with cdrecord - combine the building of the ISO
with the burning:

% growisofs -dvd-compat -Z /dev/dvd -r <files>

This should give you a good summary of how to use these tools.
You already have gotten useful advices on how to set the
correct device permissions - this is important.

Additionally, see "man cdrecord" on how to construct a
simple config file so you don't have to put speed= and
dev= whenever you want to use the program - it makes
things more comfortable. :-)

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list