[svlug] cd burning

Rick Moen rick at linuxmafia.com
Tue Mar 21 11:54:05 PST 2006

Quoting Kelly Williams (kwilliams at nethtc.net):

> I am running k3b on Redhat 9.0. I will not pick up the drives as writers.
> What could be the issue with it.

Kelly, just to go the extra mile to help you:  Assume (as is most
common) that you're talking about an ATAPI ("IDE") CDR[W] drive.  In that
case, Tejas Kokje's answer gave you good advice.  Let me try to amplify
on that:

The linux 2.4.x kernels used in stock Red Hat 9 support ATAPI CDR[W]
drives for write mode via an emulation-layer driver (often called a
"shim" driver, and named "ide-scsi") that makes the drive appear to be a 
SCSI device -- because writing to SCSI CDR[W] drives was already a
solved problem.

This may already be fully configured on your system.  To find out, login
as the root user and type "cdrecord -scanbus" at a shell prompt.  You
might see encouraging output like this:

# cdrecord -scanbus
Cdrecord 2.0 (i686-pc-linux-gnu) [...]
        0,0,0     0) 'MATSHITA' 'UJDA765 DVD/CDRW' '1.02' Removable CD-ROM
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) *
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *

That line for what cdrecord calls device "0,0,0" is the machine in
question's CD/DVD burner.

If by contrast you see just blank entries (asterisk), then you still
need to do driver setup.  We will need to know which of the four
standard ATA devices (hda, hdb, hdc, hdd) your CDR[W] is.  For that, run
"dmesg | less".  You'll have to wade through a considerable amount of
system-startup output, looking for a set of lines roughly like this:

ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1860-0x1867, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x1868-0x186f, BIOS settings: hdc:DMA, hdd:pio
hda: HTS726060M9AT00, ATA DISK drive
blk: queue c041a500, I/O limit 4095Mb (mask 0xffffffff)

The system's Matsushita UJDA765 CD/DVD drive is "hdc" on this system.
You will need to determine what it is on yours.  The reason we need to
know this is to modify the instructions passed by your bootloader to the
Linux kernel at startup time.  Specifically, we need to tell the kernel 
"Hey, treat device hdc [or your equivalent] specially; it's the one that
needs the ide-scsi shim."

Normally, the bootloader program Red Hat 9 users would use is LILO.
(Many newer Linux systems on x86 use a different bootloader called 
GRUB.  A few people have been known to retrofit GRUB onto RH9.)  As
Tejas said, you need to modify (again, while logged in as the root user)
system text file /etc/lilo.conf.  You need to find the "stanza"
(section) of lilo.conf that details the booted configuration, and add
this line:


The modified stanza would look something like this:


You would then save, exit, and run "/sbin/lilo" (basically, a compiler
that uses /etc/lilo.conf as input instructions and outputs boot code)
to implement your change, which would take effect at the next reboot.

At that point "cdrecord -scanbus" should give better results, and you
are now ready to burn CDs.  As Joe says, you're best advised to make
sure cdrecord works successfully, first, before trying fancier things
like k3b, GCombust, XCDRoast, etc.  The CD Writing HOWTO has a lot about
this, but I call your attention in particular to /etc/cdrecord.conf as a
place to put cdrecord options, e.g., 

# set the maximum speed the writer is allowed to use
# the device-coordinates in the form BUS,ID,LUN

Again, the HOWTO is here:

If cdrecord successfully burns CDRs/CDRWs from binary disk image files,
then k3b can, too -- because it uses cdrecord for that purpose.

More information about the svlug mailing list