Ed Watkeys wrote:
>
> The information on burning CDs under FreeBSD is very spotty. I've been
> to the freebsd.org site, dejanews, and altavista, only to scrape
> together fragments of info. I'd be happy to collect and organize this
> information if people out there have it.
The following was posted to -current. I expect some of it might not
be applicable, but, hey, it's information, right? :-)
From: Amancio Hasty <[EMAIL PROTECTED]> 08/20/99 18:37
Subject: How To Burn CDs
To: [EMAIL PROTECTED]
This is a summary of the information that I gather over the last
few days with respect to CD recorders.
It appears that the preferred and better supported CD recorders are
scsi . To shorten the gap what is needed is for ATAPI cd recorders
to be integrated into CAM so that we may present a unified interface
to both ATAPI and SCSI CD drives. Post on -hackers if you are
interested in working on such a project.
The rest of this document will deal with scsi cd recorders.
Software Tools :
cdrecord is used to burn the CDs . cdrecord http home:
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdr
ecord.htm
cdrecord supports CD-R, CD-RW and Audio CD (Red Book)
formants.
cdda2wav which is now bundled with cdrecord can extract audio CD
tracks.
cdrecord is part of the ports/sysutils collection.
tosha is another scsi tool to extract CD audio tracks and it is
in the ports/audio directory . tosha is native program to
FreeBSD. tosha was written by Oliver Fromme
<[EMAIL PROTECTED]>
cdd another native freebsd program to extract CD audio tracks
was
written by Charles Henrich and is
part of the ports/audio collection.
mkisofs is used to create an iso 9660 cd image. It is located
in the ports/sysutils collection
If one of the audio "rippers" does not work report the problem after
first making sure that the program does indeed support your
CD disk unit and then just try another one.
For a list of "reported to work" drives that work with cdrecord +
cdd2wav see:
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdw
riters-1.8.html
External vs. Internal I find that my YAMAHA CRW6416sz scsi cd
recorder runs rather cool . Some members on the list have reported
that at least early models of their CD-Recorders run hot so they
preferred
to have them external due to the heat problem and/or portability .
A little bit on cdrecord.
To determine which scsi recorder is installed in your system issue:
cdrecorder -scanbus
Cdrecord release 1.8a22 Copyright (C) 1995-1999 Jörg Schilling
scsibus0:
0) 'SEAGATE ' 'ST34501W ' '0017' Disk
1) 'YAMAHA ' 'CRW6416S ' '1.0b' Removable
CD-ROM
2) *
3) 'SEAGATE ' 'ST15150W ' '0023' Disk
4) *
5) *
6) *
7) *
scsibus1:
100) *
101) *
102) *
103) *
104) *
105) 'UMAX ' 'UMAX S-12 ' 'V2.0' Scanner
106) *
107) *
So my Yamaha CD recorder is scsi bus 0 , scsi address 1, lun 0.
I recommend sticking this information in /etc/default/record
cat /etc/default/cdrecord
CDR_DEVICE=1,0
What this means is that every time that cdrecord runs it
gets is device info from /etc/default/cdrecord .
If you feel somehow compel to always specify the scsi device in
cdrecord, the syntax is: -dev=bus,scsi address, lun or
-dev=scsi address, lun
in my case is:
-dev=1,0 (the default scsi bus is 0)
I recommend for the first few times to use a CD-RW. They
are more expensive than CD-R;however, for playing for the first
time with your scsi cd recorder they can actually probably
save you a lot of money.
Now that you have all your hardware and software in place what can
you do 8)
To create an iso cd9660 with a CD-RW:
mkisofs -R /mount/dir | cdrecord -blank=fast -v fs=6m speed=3 -
mkisofs pipes an ISO 9660 cd image to cdrecord.
cdrecord does the actual cd burning:
-blank=fast first it does a quick blank
-v verbose mode so you can see what is doing
fs=6m forks a process and uses a 6MB buffer
speed=3 usually CD-RW can only be burned
as fast as 4X you will have to experiment
with your cd recorder to see what speed
works best.
Take a break pending upon the size of the image the process
can take 1/2 hour to just a few minutes so kick back and relax.
Here is session for creating audio cds.
mkdir cdtracks
cd cdtracks
cddwa2wav -B
This command generates tracks in the format of:
audio_nn.wav where nn is a track number . audio in .wav format
audio_nn.inf where nn is a track number . pregap info
cdrecord -blank=fast -audio -useinfo audio*.wav
-blank=fast blanks your CD-RW for CD-R don't include
this command
-audio sets audio cd recording
-useinfo use the pregap info generated by cdd2wav
*.inf files
Issues:
In the list there was an exchange of using the tool team for
buffering vs cdrecord's own buffering scheme:
"Another possibility, if you have the RAM, is to use the team(1)
program (it's in the ports) to buffer the data as it goes to the
burner.
You basically put it into the pipeline between mkisofs and cdrecord,
and
it buffers up to 5MB in memory (default, adjustable). Of course,
you've
got to have enough RAM to not go into swap during the operation.
It's a
very nice program, and I've been told that, with enough memory
(32-64MB), you can be running X11 and compiling programs while the
CD is
burning (this is with a 2X burner, though)."
"It should be noted that the 'cdrecord' program implements a
FIFO itself,
and you can specify the size. The default is 2MB. cdrecord
uses a
shared memory segment and forks so the process buffering the
data is
made independant of the buffer draining it.
Modern CD writers usually have 1-2MB of buffer internally. The
newer
Yamahas, for example, have 2MB.
So right off the bat we have around 4MB. Still, when you are
writing at
600KB/sec it is possible to get behind if the filesystem you are
building
has lots of small files. Apart from writing the mkisofs output
to a file,
the easiest solution is to tell cdrecord to burn at a slower
rate - e.g.
1x or 2x instead of 4x or 6x.
Possible Problem and we need clarification
And to head off another question: When you are recording to a CD-RW
you can do a 'quick erase' of the media using 'cdrecord blank=fast'.
This does not actually erase the data, so if you have used say 100MB
you will only have 550MB left. You can actually erase the media
using
'cdrecord blank=all', which takes a while.
In my experience, this is not true. I have used blank=fast on a
CDRW
that has over 500 MB written, and then written another 500 MB
without
a problem.
I have the same experience. Maybe someone into the physics of the
media
can explain what the pros-cons are as far as the media itself is
concerned?
Hardware :
Yamaha CRW6416sz scsi 2 internal cd recorder
I bought the Yamaha CRW6416sz scsi 2 iternal because it is
somewhat cheap and reliable . You can buy one at CompUSA for
$300.
Reported scsi CD recorders which work and by no means this
list is not exhaustive rather is nice to know from a FreeBSD user
that it works on their boxes.
1. JKH swears by his Smart and Friendly Rocket Recorder
scsi cd recorder 8)
Honest is probably a good drive because JKH burns
quite a few CDs.
2. Plextor scsi recorders 4x and 8x good recommendation from
the list.
3. Philips CDD-3600 CDRW drive
4. Yamaha 4416 scsi recorder known to work on FreeBSD, Linux, SCO,
HP/UX, and NT
5. Yamaha 6416sz scsi cd recorder.
Hidetoshi Shimokawa <[EMAIL PROTECTED]> reported:
I bought DVD-RAM drive for $400.
5.2GB(double side) media is around $35, you can use them as 2.3GB
x 2
disks.
Enabling raw-write in scsi_cd.c, you can newfs/mount DVD-RAM as
UFS.
Write speed is around 500KB/s, and read speed is around 1.4MB/s.
Now this sounds like a very nice scsi cd recorder .
Further input on DVD-RAM is welcome .
--
Amancio Hasty
[EMAIL PROTECTED]
And now, for more stuff:
From: Amancio Hasty <[EMAIL PROTECTED]> 08/19/99 04:09
Subject: CD writer : Baby Hacker II
To: [EMAIL PROTECTED]
1. Modify cdrecord so that if a device is not specified it will
do a -scanbus . Present the user with a choice of cd recorders
from which to chose from .
Ideally there should be a generic device query interface to the
system so
other similar utilities can do the same thing .
2. Create an LDAP schema to store the configuration for cdrecord.
the entry should have:
host , InetOrgPerson, cd recorder brand/model, device name,
scsibus address,
CD-R speed, CD-RW speed...
I can provide a servlet which can manage the configuration
of the LDAP server. If you are interested on LDAP
see: http://www.openldap.org and/or send me email.
3. A bit more dificult. Create a shared library module out of
cdrecord
with an interface similar to netscape's plug-in . Pick a
graphical
utility for instance gcombust and interface it to the plug-in.
4. Pie in the sky:
Do step 2 and use xml as your protocol . For instance , if
an app such gcombust sents a status query to the plug-in
its response should be encapsulated in xml : detailing the
device ,
current status : recording/pause/playing/stop.
Enjoy
--
Amancio Hasty
[EMAIL PROTECTED]
--
Daniel C. Sobral (8-DCS)
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Rule 69: Do unto other's code as you'd have it do unto yours
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message