Penguin
Blame: CDWritingNotes
EditPageHistoryDiffInfoLikePages
Annotated edit history of CDWritingNotes version 44, including all changes. View license author blame.
Rev Author # Line
36 JohnMcPherson 1 !!! Graphical CD writing software
2
3 Note that these are all merely graphical front-ends that call cdrecord to do the actual writing, so you will need to make sure that cdrecord works (see the following sections for help with this).
4
42 AristotlePagaltzis 5 * [K3B | http://k3b.sourceforge.net] is the [KDE] project's [GUI] burning tool
6 * <tt>xcdroast</tt> has a fairly awful [GTK] based [GUI].
7 * <tt>eroaster</tt> looks much better designed for ease-of-use... written in [Python] and [GTK].
8 * [GNOME] has <tt>nautilus-cd-burner</tt>, a [GNOME] [VFS] thing that means you can drag'n'drop files into the <tt>burn:///</tt> virtual directory, and then click the <i>Write to CD</i> button. Nice and easy. In a nautilus window, click on the <i>Go</i> or <i>Places</i> menu and then <i>CD Creator</i>.
43 BenStaz 9
10 !!! Identify Drive Model
11
12 Here are a few ways of finding out your drive information.
13
14 *cdrecord -inq
15
16 <verbatim>
17 Device type : Removable CD-ROM
18 Version : 0
19 Response Format: 1
20 Vendor_info : 'BENQ '
21 Identifikation : 'DVD DD DW1650 '
22 Revision : 'BCDC'
23 Device seems to be: Generic mmc2 DVD-R/DVD-RW.
24 </verbatim>
25
26 *cdrecord -scanbus dev=ATA
27
28 <verbatim>
29 scsibus1:
30 1,0,0 100) 'BENQ ' 'DVD DD DW1650 ' 'BCDC' Removable CD-ROM
31 </verbatim>
32
33 *dmesg | egrep '(DVD|CD)'
34
35 <verbatim>
36 [ 30.164585] hdc: BENQ DVD DD DW1650, ATAPI CD/DVD-ROM drive
37 [ 30.566013] hdc: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
38 [ 30.566021] Uniform CD-ROM driver Revision: 3.20
39 </verbatim>
36 JohnMcPherson 40
41 !!! cdrecord(1)
42
42 AristotlePagaltzis 43 At least in [Debian] [Woody], the file <tt>/etc/default/cdrecord</tt> stores settings about your CD writer(s). The last section which maps the device settings to the drive name __''must'' be Tab separated__. Spaces won't work.
36 JohnMcPherson 44
42 AristotlePagaltzis 45 Make sure that your user has permission to any required device files and executable programs. In [Debian], the files have the appropriate permissions for people in the <tt>cdrom</tt> group. If you add yourself to the group you will have to log out and back in for that to take effect.
44 IanMcDonald 46
47 In later [Debian] versions [cdrecord(1)] has been changed to wodim. Wodim is a fork of cdrecord as cdrecord stalled a little and also the license was changed on later versions by the original authour.
36 JohnMcPherson 48
42 AristotlePagaltzis 49 !!! How to get your CDR working – [ATAPI] Styles
36 JohnMcPherson 50
42 AristotlePagaltzis 51 Recent 2.4 kernels, and all 2.6 kernels, have support for cdwriting via [ATAPI]. Historically, the cdrecord program only worked over [SCSI] and [Linux] users needed [SCSI] emulation. There was argument over whether this was the kernel's fault or cdrecord's fault. See [Linus's take | http://lkml.org/lkml/2003/11/6/151] and [the author's take | http://www.wlug.org.nz/archive/docs/cdrecord-README.ATAPI] on this as well as [an explaination of both points of view on Slashdot | http://linux.slashdot.org/comments.pl?sid=141120&cid=11825433].
36 JohnMcPherson 52
42 AristotlePagaltzis 53 !! What to do
36 JohnMcPherson 54
42 AristotlePagaltzis 55 Make sure you have the [ATAPI] [CDROM] driver compiled in or as a module in your system. Probably best if you disable <tt>ide-scsi</tt> emulation while you're at it. (That is, make sure no drives are told to use the [SCSI] emulation on boot. Either remove <tt>ide-scsi</tt> support from your [Kernel], or check your BootLoader's configuration (either [LILO] or [GRUB]) to make sure it doesn't pass any <tt>hd''x''=ide-scsi</tt> options to the kernel.)
36 JohnMcPherson 56
57 Upgrade cdrecord to the latest versions (2.0.x and above all appear to support this).
58
59 Get the latest version of whatever graphical frontend you prefer, and make sure they grok the ATAPI interface. If they don't, email the author requesting the feature and explain why you're now using a different program instead of theirs :)
60
61 !! Finding the CDR
62
42 AristotlePagaltzis 63 Now find your CDR with <tt>cdrecord dev=ATA: -scanbus</tt>. Note the <tt>dev=ATA:</tt> bit. (Warning: case matters - "ATA" works, "ata" does not.)
39 JohnMcPherson 64
36 JohnMcPherson 65 The above command will return something like:
66
42 AristotlePagaltzis 67 <verbatim>
68 Cdrecord-Clone 2.01a19 (i686-pc-linux-gnu) Copyright (C) 1995-2003 Jörg Schilling
69 scsidev: 'ATA:'
70 devname: 'ATA'
71 scsibus: -1 target: -1 lun: -1
72 Warning: Using ATA Packet interface.
73 Warning: The related libscg interface code is in pre alpha.
74 Warning: There may be fatal problems.
75 Using libscg version 'schily-0.7'
76 scsibus0:
77 0,0,0 0) *
78 cdrecord: Warning: controller returns wrong size for CD capabilities page.
79 0,1,0 1) ' ' 'ATAPI CDROM 52X ' '120N' Removable CD-ROM
80 0,2,0 2) *
81 ....
82 scsibus1:
83 1,0,0 100) 'CDWRITER' 'IDE4012 ' '409E' Removable CD-ROM
84 1,1,0 101) *
85 1,2,0 102) *
86 ...
87 </verbatim>
36 JohnMcPherson 88
42 AristotlePagaltzis 89 So, this says there is an [ATAPI] [CDROM] on <tt>dev=ATA:0,1,0</tt> and an [ATAPI] CD writer on <tt>dev=ATA:1,0,0</tt>.
36 JohnMcPherson 90
42 AristotlePagaltzis 91 Note! cdrecord seems to have 2 independent [ATAPI]/[IDE] drivers: <tt>ATA:</tt> and <tt>ATAPI:</tt>, which map device names differently:
36 JohnMcPherson 92
42 AristotlePagaltzis 93 <verbatim>
94 $ cdrecord dev=ATAPI: -scanbus
95 Warning: Using ATA Packet interface.
96 Warning: The related Linux kernel interface code seems to be unmaintained.
97 Warning: There is absolutely NO DMA, operations thus are slow.
98 0,1,0 1) 'CyberDrv' 'CB511D Combo ' '120A' Removable CD-ROM
99 ...
100
101 $ cdrecord dev=ATA: -scanbus
102 scsidev: 'ATA:'
103 devname: 'ATA'
104 scsibus: -1 target: -1 lun: -1
105 Warning: Using badly designed ATAPI via /dev/hd* interface.
106 Linux sg driver version: 3.5.27
107 1,1,0 101) 'CyberDrv' 'CB511D Combo ' '120A' Removable CD-ROM
108 ...
109 </verbatim>
110
111 <tt>ATA:</tt> appears to be the preferred driver, and <tt>ATAPI:</tt> seems to be obsolete. If you do not find your drive with one, though, try the other. The ATA driver supports [DMA].
112
113 You can now burn CDs just as you could before, except use the device names as detailed above (ie, <tt>dev=ATA:1,0,0</tt>).
114
115 You can also save this in the cdrecord config file (either <tt>/etc/default/cdrecord</tt> on [Debian], or maybe <tt>/etc/cdrecord.conf</tt> on other distros) by adding something like:
116
117 <verbatim>
36 JohnMcPherson 118 CDR_DEVICE=mycdwriter
119 ...
120 mycdwriter= ATA:1,0,0 -1 -1 ""
42 AristotlePagaltzis 121 </verbatim>
122
36 JohnMcPherson 123 (and remember to use tabs for separation, and not spaces.)
124
125 !! Another Way
126
42 AristotlePagaltzis 127 In Debian Sid, the file <tt>/usr/share/doc/cdrecord/README.ATAPI.setup.gz</tt> describes another way to get cdrecord working with [ATAPI] drives. With 2.6.x, if you add these lines to <tt>/etc/default/cdrecord</tt> (fields are tab separated):
128
129 <verbatim>
36 JohnMcPherson 130 CDR_DEVICE=cdrw
131 cdrw= /dev/hdc -1 -1 ""
42 AristotlePagaltzis 132 </verbatim>
36 JohnMcPherson 133
42 AristotlePagaltzis 134 cdrecord will then use <tt>/dev/hdc</tt> by default. Then <tt>mkisofs -r ''directory'' | sudo cdrecord -</tt> will burn a CD of ''directory'''s contents.
36 JohnMcPherson 135
42 AristotlePagaltzis 136 !! [Debian] [Woody]
36 JohnMcPherson 137
42 AristotlePagaltzis 138 If you're brave and run Linux 2.6 under [Debian] [Woody], all you need to do is include backports for <tt>cdrdao</tt> and <tt>cdrtools</tt>, and you can use [ATAPI] CD writing just fine. You should already have backports for <tt>module-init-tools</tt> and other assorted packages like hdparm(8) that need updating for the new kernel, so add these ones as well:
36 JohnMcPherson 139
42 AristotlePagaltzis 140 <pre>
141 deb http://www.backports.org/debian woody cdrdao
142 deb http://www.backports.org/debian woody cdrtools
143 </pre>
36 JohnMcPherson 144
42 AristotlePagaltzis 145 I've successfully burnt an [ISO] image to disk using an LG 52x [ATAPI] CD writer. The output from <tt>cdrecord dev=ATAPI: -scanbus</tt> looked like this:
36 JohnMcPherson 146
42 AristotlePagaltzis 147 <pre>
148 0,0,0 0) 'HL-DT-ST' 'CD-RW GCE-8525B ' '1.01' Removable CD-ROM
149 </pre>
150
151 Not tried an audio CD yet.
152
153
154 !!! How to get your CDR working – [IDE] [SCSI] emulation
36 JohnMcPherson 155
39 JohnMcPherson 156 __Note:__ Recent versions of cdrecord(1) combined with a recent LinuxKernel can use native [IDE] drivers for [IDE] CD writers, so this whole mumbo jumbo is not necessary. See the notes back up the page. This is left here for anyone using an older distro or kernel.
36 JohnMcPherson 157
42 AristotlePagaltzis 158 See our [SCSI-IDENotes] page for notes on setting up <tt>ide-scsi</tt> emulation.
36 JohnMcPherson 159
42 AristotlePagaltzis 160 !! Why you should use ATAPI if you can
39 JohnMcPherson 161
42 AristotlePagaltzis 162 The main reason might be that you don't have to muck around with <tt>ide-scsi</tt> emulation and so on. However, the bigger reason is that it appears that <tt>ide-scsi</tt> has a major bug which may never be fixed, so if you want CD writing to ''work'' under 2.6 you'll want to use the [ATAPI] interface. Another reason is that it's such a [PITA] to change between using <tt>ide-scsi</tt> and <tt>ide-cd</tt> if you want to go from, say, writing a CD to playing a DVD, and you have one of those nifty combo CDR/DVD drives.
36 JohnMcPherson 163
164 !! Finding the CDR
165
41 CraigBox 166 Now find your CDR with <tt>cdrecord -scanbus</tt>, which returns something like
36 JohnMcPherson 167
42 AristotlePagaltzis 168 <verbatim>
169 Cdrecord 2.01a16 (i686-pc-linux-gnu) (C) 1995-2003 Jörg Schilling
170 Linux sg driver version: 3.5.28
171 Using libscg version 'schily-0.7'
172 scsibus0:
173 0,0,0 0) 'HP ' 'CD-Writer+ 9100 ' '1.0c' Removable CDR
174 0,1,0 1) *
175 0,2,0 2) *
176 ....
177 </verbatim>
36 JohnMcPherson 178
42 AristotlePagaltzis 179 This means your CDR is at 0,0,0 just like on most single-drive machines with [IDE] CD writers.
36 JohnMcPherson 180
181
182 !!! Writing bootable CDs
183
42 AristotlePagaltzis 184 The CD standard supports "floppy emulation", great for getting those old discs backed up and loading at 10× the speed. If you have a floppy image you've downloaded, call it <tt>boot.img</tt> (or change the command line). If you have a 1.44Mb floppy, run <tt>dd if=/dev/fd0 of=boot.img bs=10k count=144</tt>. Put <tt>boot.img</tt> in an otherwise empty directory, and from that directory run <tt>mkisofs -b boot.img -c boot.catalog . | cdrecord -v .</tt>
36 JohnMcPherson 185
42 AristotlePagaltzis 186 mkisofs will generate the boot.catalog file for you. Add <tt>-dummy</tt> to cdrecord if you want a test run first. If cdrecord doesn't know about your cdr then you'll need to add <tt>dev=x,y,z</tt> and possibly <tt>speed=n</tt>. If you just want to create the [ISO] image then you can use <tt>-o boot.iso</tt> with mkisofs instead of piping it to cdrecord. The "<tt>.</tt>" at the end of mkisofs is still required though.
36 JohnMcPherson 187
42 AristotlePagaltzis 188 <tt>/usr/share/doc/mkisofs/README.eltorrito</tt> explains how to create bootable CDs.
38 IanMcDonald 189
190 !! Writing out downloaded (ISO) CDs
191
42 AristotlePagaltzis 192 The command you want to use is something like <tt>cdrecord dev=/dev/cdwriter abc.iso</tt> where you substitute the device name of your CD writer and file you downloaded.
38 IanMcDonald 193
194 If you do not run as root you get the following message:
195
42 AristotlePagaltzis 196 <verbatim>
197 cdrecord: Operation not permitted. WARNING: Cannot set RR-scheduler
198 cdrecord: Permission denied. WARNING: Cannot set priority using setpriority().
199 cdrecord: WARNING: This causes a high risk for buffer underruns.
200 </verbatim>
201
202 Basically you can still burn the CD but would recommend you don't do other things at the same time that hog [CPU] or else you may burn a coaster.
36 JohnMcPherson 203
204 ----
42 AristotlePagaltzis 205 Part of CategoryDiskNotes and CategoryStorage

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 4 times)