home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BURKS 2
/
BURKS_AUG97.ISO
/
BURKS
/
LINUX
/
HOWTO
/
mini
/
cdwrite.txt
< prev
next >
Wrap
Text File
|
1997-07-07
|
33KB
|
865 lines
CD-Writing mini-HOWTO Winfried Trⁿmper <winni@xpilot.org>
--------------------- Version 1.8 18 Mar 1997
I (Winfried Trⁿmper) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
DOCUMENT, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A CERTAIN PURPOSE; IN NO EVENT SHALL I 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.
1. Introduction
My first experience with CD Writers was guided by the
"CD Writer mini-HOWTO" by Matt Cutts <cutts@ms.uky.edu>.
Thanks Matt!
Although my intention was only to upgrade his document, I
rewrote it from the scratch after I realized how much changed
since 1994.
1.1. Suggested readings
The "Linux CD-ROM HOWTO" explains everything one should know
about CD-ROM drives under Linux.
As a supplement, you may want to take a look at the
"Linux SCSI HOWTO" and the "Linux Kernel HOWTO".
1.2. 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 silver shimmering disk. (The silver shimmering comes from an
aluminized layer which is the carrier.) The pits represent the
bits of the information (in some way) 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 it's
surface ... thus it's empty.
Instead of the aluminium layer (silver) it has a special film
(colored) into which "microscopic pits" can be burned in. This is
done by giving the laser which normally only senses the pits a
little bit more power so he burns the pits. This action can only
be taken _once_ on a CD-R.
This mini-HOWTO deals with the task of writing such a CD-R.
Welcome on board, captain.
1.3. Supported CD-Writers
"Linux" supports CD-writers of the following manufacturers
Philips, IMS, Kodak, Yamaha, Hewlett-Packard
or compatibles ...
If your hardware isn't supported you can still use Linux
to create an image of the later CD but then you have to use
DOS-Software to write the image to the CD-R. [You may wish to
do so because most DOS-software cannot deal with long
filenames available in Linux.]
In this case you can skip all hardware-related sections (those
about "generic SCSI devices" and "cdwrite").
1.4. Supported "features"
Currently the software for burning CDs under Linux does
support the following main features:
* RockRidge Extensions
* "Multisession" CDs and
* "El Torito" (bootable) CDs.
1.5. Mailinglists
If you want to join the development team (with the intention
to actively _help_ them), send e-mail to
cdwrite-request@pixar.com
and put the command "subscribe" in body of the message.
2. Prepare your Linux-box for writing CD-ROMs
2.1. Set up the hardware
(a) Shut down your computer, switch it off and hook CD writer to the
SCSI-bus. Please note that CD-writers require a SCSI-controller,
the standard EIDE-Interface of your PC has no ability to drive
those writers.
(b) Make sure the SCSI-bus is properly terminated and choose a free
SCSI-ID for the writer. Look at the Linux SCSI-HOWTO if you're
not sure. If you're completly clueless, ask an expert.
(c) Switch the power on again and check the messages that the BIOS of
the SCSI-controller prints immediatly after switching the power
on.
If it doesn't recognize you writer, go back to step (b).
You should see a message like
[missing picture; has anyone a screenshot of it?]
2.2. A note on writing CDs under Linux
In contrast to other rumors, the Linux-kernel does _not_
require a patch in order to write to CDs. Although the
file "drivers/scsi/scsi.c" from the kernel-sources
contains the lines
case TYPE_WORM:
case TYPE_ROM:
SDpnt->writeable = 0;
this does only mean that that CDs and WORMs are not writeable
through the standard-devices "/dev/sda"-"/dev/sdh" which is ok.
Instead of using these devices the writing of CDs is done
through the so called "generic SCSI-devices" which permit
nearly everything - even writing to CDs.
2.3. Create "generic devices"
The Linux SCSI-HOWTO says about generic SCSI-devices:
The Generic SCSI device driver provides an interface
for sending SCSI commands to all SCSI devices - disks,
tapes, CDROMs, media changer robots, etc.
Speaking of the generic devices as "interfaces" means that
they provide an alternate way of accessing SCSI-hardware than
through the standard devices.
It is necassary because Linux does not allow direct hardware access
through the standard SCSI-devices - everything must pass by the
kernel first. But the writing-software _requires_ direct access to
the CD-writer hardware - so there must be an alternate way.
[Note: if there were a standard for driving CD-writers, the
kernel-developers would have programmed a kernel-module for
writing to CD-Rs and we wouldn't have to use generic devices.
But as every manufacturer needs an individual driver for its
hardware (argh!), this kernel-module would become unhandy and
bigger than everything you want to be in your kernel.]
As everthing can be done to SCSI-hardware through the generic
devices they are not fixed to a certain purpose - therefore the
name "generic".
Goto the "/dev"-directory and check for "generic scsi devices";
"ls"-command should show "sga"-"sgh":
bash> cd /dev
bash> ls -l sg*
crw------- 1 root sys 21, 0 Jan 1 1970 sga
crw------- 1 root sys 21, 1 Jan 1 1970 sgb
crw------- 1 root sys 21, 2 Jan 1 1970 sgc
crw------- 1 root sys 21, 3 Jan 1 1970 sgd
crw------- 1 root sys 21, 4 Jan 1 1970 sge
crw------- 1 root sys 21, 5 Jan 1 1970 sgf
crw------- 1 root sys 21, 6 Jan 1 1970 sgg
crw------- 1 root sys 21, 7 Jan 1 1970 sgh
If you don't have those device-files then create them by using
the "/dev/MAKEDEV"-script:
bash> cd /dev/
bash> ./MAKEDEV sg
Now the device-files should show up.
2.4. Enable usage of the "generic scsi" and "loopback" devices
The Linux-kernel needs a module that lends it the ability to
deal with generic scsi devices.
If your running kernel has this feature, it should be listed
in the pseudo-file "/proc/devices":
bash> cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyp
5 cua
7 vcs
21 sg <----- stands for "Scsi Generic device"
30 socksys
Block devices:
2 fd
7 loop <----- we even can use the loop-devices
8 sd
11 sr <----- stands for "Scsi cd-Rom"
Maybe you have to issue the