[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Getting CDRW to work in Debian



Walter Dnes wrote:
>   I have a DVD (hdc) and a CDRW (hdd) on a machine.  The only defined
> mount is /cdrom, which is actually the DVD.  In Redhat, I simply added
> append="hdc=ide-scsi hdd=ide-scsi" to lilo.conf, ran lilo and re-boot
> and both of them worked as did cdrecord.  This does not work in Debian
> (2.4.18-bf2.4).

That should be enough for Debian as well.  (shrug)  Works for me.

> Further Googling suggested that I add a line to modules.conf.
> Looking at modules.conf, I saw dire warnings against manual editing,
> and that I was to use update-modles instead.  According to the
> manpage, I'm supposed to create a file in /etc/modutils.

Change references of modules.conf to /etc/modules instead.

Here are my instructions for setting up a CD-RW drive on Debian.   
Perhaps they will help.  This sets up a very particular configuration.
You will have to adapt it for your installation.  

Note that these instructions match a tuned modular kernel such as
kernel-image-2.4.20-2-k7.  The bf24 kernel should have all of the
modules compiled in and should work.  But I don't use that kernel
myself and so can't say for sure.  And I have seen problems with
module conflicts being completely unresolvable when trying to compile
everything into the kernel statically.  Take 'autofs' and 'autofs4' as
an example, you need a modular kernel to get the fixed autofs4.
Besides you probably want the tuned, modular kernel anyway.  So that
might be your first task, to update to an appropriate modular kernel
first.  See the previous postings about using 'modconf' or similar
method to install your network and sound drivers.

Bob

Setting up a CD-RW drive

I am going to assume that the CD-ROM is on a master IDE device and
that the CD-RW is a slave IDE device on the same cable since that is a
typical configuration.  In order to use the CD writer it must appear
as a SCSI device. In that case you might as well treat both of the
devices as SCSI for consistency.

First you need the kernel to load the ide-scsi module at boot time.
Put the name of that driver in /etc/modules.

In /etc/modules place the following:

  ide-scsi

Note for pure SCSI disk based systems.  In an IDE based system the
ide-probe-mod and ide-mod drivers will have been loaded during the
initial part of the boot.  But in a SCSI based system there is no need
for those drivers.  Unless you have an IDE CD writer in which case you
will need them and they will not be automatically detected for
inclusion in an initrd.  Therefore you will need to add these drivers
explicitly in the /etc/modules file.  Thanks George Robbert for
providing this information.  Note that in 2.4.22 ide-probe became
ide-detect.  Thanks Brian Weaver for providing this information.

  ide-probe-mod
  ide-scsi

The ide-scsi module can only adapt an IDE device to a SCSI if it has
not already been grabbed by the normal IDE layer.  Therefore the
kernel must be instructed to load the ide-scsi driver for these
devices at boot time such that the ide-scsi driver will be loaded
first.  After modifying the /etc/lilo.conf file you will need to run
lilo and you will need to reboot.  (Or edit grub's menu.lst and run
update-grub for grub users.)

In /etc/lilo.conf place the following:

  append="hdc=ide-scsi hdd=ide-scsi"

The hdc device is your master device which I am assuming will be your
CD-ROM device.  The hdd device is your slave device which I am
assuming will be your CD-RW device.

Test your configuration using cdrecord -scanbus.  It should be able to
see your CD devices.

  cdrecord -scanbus

At this point things are configured for the kernel to handle the
devices correctly as SCSI devices.  Now we set up the rest of the
system to know about these.  Typically on Linux systems the device is
aliased as a symlink in /dev.  Remove any previous aliases.  Create
new aliases for the new devices.

  rm -f /dev/cdrom
  rm -f /dev/cdrw
  ln -s /dev/scd0 /dev/cdrom
  ln -s /dev/scd1 /dev/cdrw

Create mount points for these devices.  These could go anywhere on
your filesystem.  Typically on Debian they will be mounted in / as
/cdrom and /cdrw.  However another common convention is to mount these
under /mnt as /mnt/cdrom and /mnt/cdrw.  For now I will go with the
Debian default and show them in /cdrom and /cdrw.

  mkdir -p /cdrom /cdrw

Configure those device nodes and mount points in your filesystem table
so that they can be easily mounted.  The configuration shown here
allows any user to mount and unmount these devices as themself and
root capability is not needed.

In /etc/fstab place the following:

  /dev/cdrom      /cdrom          iso9660 ro,user,noauto          0       0
  /dev/cdrw       /cdrw           iso9660 ro,user,noauto          0       0

You may be questioning the 'ro' option, read-only, in the cdrw entry
in the above fstab.  That is because when mounting the disk like this
it looks like a cdrom and is not writable using this method.  When
mounting it as a filesystem it is being mounted as a cdrom device
only.  You can use the cdrw to read a cd using the cdrom capabilities
of the device.

To actually record using the cdrw you will need to use cdrecord or
similar program.  Many people have reported good use of the GUI
xcdroast.  Use the dev setting that matches what cdrecord -scanbus
says.  Use a speed that is supported by both drive and media.

  cdrecord -v -eject dev=0,1,0 speed=8 file.iso

In my install for cdrecord I told it to use 'suid' so that you don't
need root permission to run it.  Alternatively 'sudo' can be
configured for that purpose.

After you get that going edit /etc/default/cdrecord and set up the
default parameters there so that you won't need them on the command
line each and every time.  With that configuration installed a typical
command line might be the following.

  cdrecord -v -eject file.iso

Attachment: pgpeX06C3p2a1.pgp
Description: PGP signature


Reply to: