Bill Jonas on Sun, 15 Jul 2001 13:00:06 -0400

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

Re: [PLUG] Next problem - Missing CDROM Drives

On Sun, Jul 15, 2001 at 10:21:26AM -0400, John Beck wrote:
> Help!  After just installing Slackware 8.0 at home, I am left feeling
> somewhat empty - my sound card wasn't configured, and now I just
> realized that neither of my 2 CDrom drives are listed in /mnt either!!!
> What do I do?!

qumak's message on your CD-ROM drives was pretty good.  I'll cover
CD-Writing and your sound card.  :)

We'll start with the easier/more straightforward one.  Edit
/etc/rc.modules (or /etc/rc/rc.modules; I forget the exact path).  The
rc.modules file has commented-out commands for loading *every* module
that Linux comes with, along with copious comments explaining what each
module is for.  Just find your sound card and then uncomment the
appropriate line.  You don't need to reboot, just use the modprobe
command on the same module from the command line.

Configuring an IDE CD-R/CD-RW is a bit of a pain, though. is a great resource,
but it's a bit confusing.  Here's how it is done:

Enter the command "dmesg |grep hd", and pick out the line that
identifies your CD-R/CD-RW drive.  In my case, that's "hdc: PCRW404,
ATAPI CD/DVD-ROM drive", but of course you'll want to substitute the
proper value for your own system.  In your /etc/lilo.conf, find a
section like the following:


You'll need to add a line, like so:


...and then execute /sbin/lilo.

You see, CD-Writers are always accessed as SCSI devices *when you're
writing CDs*.  (You can always access them as a regular IDE CD-ROM,
though.)  This is done to simplify the programming for tools like
cdrecord(1).  Now, you may ask, how can you record CDs if you have an
IDE CD-Writer?  The Linux kernel contains SCSI emulation for IDE
devices.  What the above line that you added to lilo.conf above does is
tells the IDE driver not to make hdc available.  (Side note: whatever's
in the append directive, say, append="foo", gets appended to the
kernel's command line, sort of like "vmlinuz foo", the same way you
might type "ls foo".  You can try out things without adding them to
lilo.conf by hitting the left shift key when the LILO prompt comes up
andn typing (assuming that your "label=Linux") "Linux hdc=idescsi".)
This is so that it's left alone so that you can use the kernel's SCSI
subsystem to access it instead.

So in your rc.modules file, you'll need to uncomment the lines for the
following modules: ide-scsi, sg, sr_mod, scsi_mod, cdrom.  This time you
*will* have to reboot.  (The kernel has to be executed again with
"hdc=ide-scsi" on its command line.)  After the system comes back up,
you can check to see if things are as they should be by executing (as
root) "cdrecord -scanbus".  This is what it looks like on my system:

bj@epoch:~$ sudo cdrecord -scanbus
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling
Linux sg driver version: 3.1.17
Using libscg version 'schily-0.5'
        0,0,0     0) 'PHILIPS ' 'PCRW404         ' '1.06' 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) *

As for actually burning a CD, the HOWTO I mentioned above has a better
and more verbose explanation than I'm going to give now, but here's the
basic procedure.  Create a directory that contains all the files and
directories you want on the CD; I'll refer to this as ~/cd-image.  Then
use the mkisofs command in a manner similar to: "mkisofs -r -o
filename.iso ~/cd-image".  You don't need to be root for that step.
Then you can test it, say, by mounting the image and looking at it:
"mount -o loop filename.iso /mnt".  When you're satisfied with it, then
unmount it and run a command, as root, similar to "cdrecord -v speed=4
dev=0,0,0 -data filename.iso".  Alternatively, if you've downloaded a CD
image, you can obviously skip the mkisofs step.  See the HOWTO for a
more detailed explanation.

There are also graphical front-ends to cdrecord like gcombust and
gtoaster.  Note that if you want to burn audio CDs that can be played in
a regular CD player, the process is somewhat different, and you'll
probably use the cdrdao program rather than cdrecord.

Again, I want to call attention to the fact that you'll need to adjust
some of the values above to whatever is appropriate to your own system.
By way of encouragement to not give up, it took me a while to do this on
my own system.

Anyway, I hope this helps.  Good luck!

Bill Jonas    *    *
"As we enjoy great advantages from the inventions of others,  we should
be glad of an opportunity to serve others by any invention of ours; and
this we should do freely and generously."          -- Benjamin Franklin

Philadelphia Linux Users Group       -
General Discussion  -