Penguin
Diff: CDWritingNotes
EditPageHistoryDiffInfoLikePages

Differences between version 42 and predecessor to the previous major change of CDWritingNotes.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 42 Last edited on Monday, May 15, 2006 4:45:26 pm by AristotlePagaltzis Revert
Older page: version 38 Last edited on Thursday, June 16, 2005 5:06:19 pm by IanMcDonald Revert
@@ -1,181 +1,172 @@
 !!! Graphical CD writing software 
  
 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). 
  
-* [K3B|http://k3b.sourceforge.net] is the [KDE] project's [GUI] burning tool  
-* __ xcdroast__ has a fairly awful [GTK] based [GUI].  
-* __ eroaster__ looks much better designed for ease-of-use... written in [Python] and [GTK].  
-* [GNOME] has nautilus-cd-burner, a gnome-vfs thing that means you can drag'n'drop files into the __ burn:///__ virtual directory, and then click the " Write to CD" button. Nice and easy. In a nautilus window, click on the " Go" or " Places" menu and then " CD Creator"
+* [K3B | http://k3b.sourceforge.net] is the [KDE] project's [GUI] burning tool  
+* <tt> xcdroast</tt> has a fairly awful [GTK] based [GUI].  
+* <tt> eroaster</tt> looks much better designed for ease-of-use... written in [Python] and [GTK].  
+* [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>
  
 !!! cdrecord(1) 
  
-At least in [Debian] [Woody], the file __ /etc/default/cdrecord__ 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. 
+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. 
  
-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 __ cdrom__ group. If you add yourself to the group you will have to log out and back in for that to take effect. 
+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. 
  
-!!! How to get your CDR working - [ATAPI] Styles 
+!!! How to get your CDR working [ATAPI] Styles 
  
-Recent 2.4 kernels, and all 2.6 kernels, have support for cdwriting via [ATAPI]. There is however a whole heap of crap going on at the moment over this , with Linus slagging off the cdrecord author for sticking to an outdated and hideous interface, and the cdrecord author slagging off linux in general because of its shite compatability with the standards he wants .  
-( See http://lkml.org/lkml/2003/11/6/151 for Linus 's take on this, and see [README.ATAPI |http://www.wlug.org.nz/archive/docs/cdrecord-README.ATAPI] for the author's take.) [This slashdot post |http://linux.slashdot.org/comments.pl?sid=141120&cid=11825433] better explains both points of view
+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]. 
  
+!! What to do  
  
-!! Why would you want to do this?  
-  
-The main reason might be that you dont have to piss round with ide-scsi emulation and so on. However, the bigger reason is that it appears that ide-scsi has a major bug in it which wont be fixed any time in a hurry, and so if you want cdwriting to _work_ under 2.6 you'll want to use the [ATAPI] interface. Another reason is that its such a pain in the ass to change between using ide-scsi and ide-cd 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.  
-  
-!! What to do:  
-  
-Make sure you have the [ATAPI ] Cdrom driver compiled in or as a module in your system. Probably best if you disable ide-scsi emulation while you're at it. (That is, make sure no drives are told to use the scsi emulation on boot. Either remove ide-scsi support from your kernel , or check your boot loader 's (either [LILO] or [GRUB]) configuration to make sure it doesn't pass any <tt>hd''x''=ide-scsi</tt> options to the kernel.) 
+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.) 
  
 Upgrade cdrecord to the latest versions (2.0.x and above all appear to support this). 
  
 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 :) 
  
 !! Finding the CDR 
  
-Now find your CDR with __ cdrecord dev=ATA: -scanbus__ . Note the dev=ATA: bit. (Warning: Case matters - "ATA" works, "ata" does not.)  
-%%%  
+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.)  
+ 
 The above command will return something like: 
-<verbatim>  
- Cdrecord-Clone 2.01a19 (i686-pc-linux-gnu) Copyright (C) 1995-2003 Jörg Schilling  
- scsidev: 'ATA:'  
- devname: 'ATA'  
- scsibus: -1 target: -1 lun: -1  
- Warning: Using ATA Packet interface.  
- Warning: The related libscg interface code is in pre alpha.  
- Warning: There may be fatal problems.  
- Using libscg version 'schily-0.7'  
- scsibus0:  
- 0,0,0 0) *  
- cdrecord: Warning: controller returns wrong size for CD capabilities page.  
- 0,1,0 1) ' ' 'ATAPI CDROM 52X ' '120N' Removable CD-ROM  
- 0,2,0 2) *  
- ....  
- scsibus1:  
- 1,0,0 100) 'CDWRITER' 'IDE4012 ' '409E' Removable CD-ROM  
- 1,1,0 101) *  
- 1,2,0 102) *  
- ...  
-</verbatim>  
-So, this says that I have an ATAPI cdrom on dev=ATA:0,1,0 and an atapi cdwriter on dev=ATA:1,0,0.  
  
-Note! cdrecord seems to have 2 independent ATAPI/IDE drivers : " ATA:" and "ATAPI:", which map device names differently :  
-<verbatim>  
- $ cdrecord dev=ATAPI : -scanbus  
- Warning: Using ATA Packet interface.  
- Warning: The related Linux kernel interface code seems to be unmaintained .  
- Warning: There is absolutely NO DMA , operations thus are slow .  
- ,1,0 1) 'CyberDrv ' 'CB511D Combo ' '120A ' Removable CD-ROM  
- ... 
+ <verbatim>  
+ Cdrecord-Clone 2.01a19 (i686-pc-linux-gnu) Copyright (C) 1995-2003 Jörg Schilling  
+ scsidev : ' ATA:'  
+ devname : 'ATA'  
+ scsibus : -1 target: -1 lun: -1  
+ Warning: Using ATA Packet interface.  
+ Warning: The related libscg interface code is in pre alpha .  
+ Warning: There may be fatal problems.  
+ Using libscg version 'schily-.7'  
+ scsibus0:  
+ ,,0 ) *  
+ cdrecord: Warning: controller returns wrong size for CD capabilities page .  
+ ,1,0 1) ' ' 'ATAPI CDROM 52X ' '120N ' Removable CD-ROM  
+ ,2,0 2) *  
+ ....  
+ scsibus1:  
+ 1,,0 100) 'CDWRITER' 'IDE4012 ' '409E' Removable CD-ROM  
+ 1,1,0 101) *  
+ 1,2,0 102) *  
+ ...  
+ </verbatim>  
  
- $ cdrecord dev=ATA: -scanbus  
- scsidev: 'ATA:'  
- devname: 'ATA'  
- scsibus: -1 target: -1 lun: -1  
- Warning: Using badly designed ATAPI via /dev/hd* interface.  
- Linux sg driver version: 3.5.27  
- 1 ,1,0 101) 'CyberDrv' 'CB511D Combo ' '120A' Removable CD-ROM  
- ...  
- </verbatim >  
-"ATA:" appears to be the preferred driver, and ATAPI: seems to be obsolete. If you do not find your drive with one , though , try the other. The ATA driver supports [DMA]
+So, this says there is an [ATAPI] [CDROM] on <tt> dev=ATA: ,1,</tt > and an [ ATAPI] CD writer on <tt>dev=ATA :1 , ,</tt>
  
-You can now burn CD's just as you could before , except use the device names as detailed above (ie, dev=ATA :1,,0 )  
+Note! cdrecord seems to have 2 independent [ATAPI]/[IDE] drivers: <tt>ATA:</tt> and <tt>ATAPI:</tt> , which map device names differently
  
-You can also save this in the cdrecord config file (either /etc/default/cdrecord on Debian, or maybe /etc/cdrecord.conf on other distros) by adding something like:  
-<verbatim> 
+ <verbatim>  
+ $ cdrecord dev=ATAPI: -scanbus  
+ Warning: Using ATA Packet interface.  
+ Warning: The related Linux kernel interface code seems to be unmaintained.  
+ Warning: There is absolutely NO DMA, operations thus are slow.  
+ ,1,0 1) 'CyberDrv' 'CB511D Combo ' '120A' Removable CD-ROM  
+ ...  
+  
+ $ cdrecord dev=ATA: -scanbus  
+ scsidev: 'ATA:'  
+ devname: 'ATA'  
+ scsibus: -1 target: -1 lun: -1  
+ Warning: Using badly designed ATAPI via /dev/hd* interface.  
+ Linux sg driver version: 3.5.27  
+ 1,1,0 101) 'CyberDrv' 'CB511D Combo ' '120A' Removable CD-ROM  
+ ...  
+ </verbatim>  
+  
+<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].  
+  
+You can now burn CDs just as you could before, except use the device names as detailed above (ie, <tt>dev=ATA:1,,</tt>).  
+  
+ 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:  
+  
+ <verbatim> 
  CDR_DEVICE=mycdwriter 
  ... 
  mycdwriter= ATA:1,0,0 -1 -1 "" 
-</verbatim> 
+ </verbatim>  
+  
 (and remember to use tabs for separation, and not spaces.) 
  
 !! Another Way 
  
-In Debian Sid, the file /usr/share/doc/cdrecord/README.ATAPI.setup.gz describes another way to get cdrecord working  
- with ATAPI drives. With 2.6.x, if you add these lines to /etc/default/cdrecord (fields are tab separated):  
-<verbatim> 
+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):  
+  
+ <verbatim> 
  CDR_DEVICE=cdrw 
  cdrw= /dev/hdc -1 -1 "" 
-</verbatim>  
-cdrecord will use /dev/hdc by default. Then  
-<verbatim>  
- mkisofs -r ''directory'' | sudo cdrecord -  
-</verbatim>  
-will burn a cd of ''directory'''s contents. --DouglasBagnall  
+ </verbatim> 
  
+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.  
  
-!! Debian Woody 
+!! [ Debian] [ Woody]  
  
-If you're brave and run linux 2.6 under Debian Woody, all you need to do is include backports for cdrdao and cdrtools, and you can use ATAPI CDWriting just fine. You should already have backports for module-init-tools and other assorted packages like hdparm that need updating for the new kernel, so add these ones as well:  
-<pre>  
- deb http://www.backports.org/debian woody cdrdao  
- deb http://www.backports.org/debian woody cdrtools  
-</pre>  
-I've successfully burnt an .iso image to disk using an LG 52x ATAPI Cdwriter. The output from cdrecord dev=ATAPI -scanbus looked like this:  
-<pre>  
- ,,0 ) 'HL-DT-ST' 'CD-RW GCE-8525B ' '1.01' Removable CD-ROM  
-</pre>  
-Not tried an audio cd yet.  
+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: 
  
+ <pre>  
+ deb http://www.backports.org/debian woody cdrdao  
+ deb http://www.backports.org/debian woody cdrtools  
+ </pre>  
  
+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:  
  
-!!! How to get your CDR working - [IDE] [SCSI] emulation  
+ <pre>  
+ ,,0 ) 'HL -DT-ST' 'CD-RW GCE-8525B ' '1.01' Removable CD-ROM  
+ </pre>  
  
-__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 further down the page. This is left here for anyone using an older distro or kernel
+Not tried an audio CD yet
  
-See our [SCSI-IDENotes] page for notes on setting up ide-scsi emulation.  
  
+!!! How to get your CDR working – [IDE] [SCSI] emulation  
+  
+__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.  
+  
+See our [SCSI-IDENotes] page for notes on setting up <tt>ide-scsi</tt> emulation.  
+  
+!! Why you should use ATAPI if you can  
+  
+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.  
  
 !! Finding the CDR 
  
-Now find your CDR with __ cdrecord -scanbus__ , which returns something like  
-<verbatim>  
- Cdrecord 2.01a16 (i686-pc-linux-gnu) (C) 1995-2003 Jörg Schilling  
- Linux sg driver version: 3.5.28  
- Using libscg version 'schily-.7'  
- scsibus0:  
- ,,0 ) 'HP ' 'CD-Writer+ 9100 ' '1.0c' Removable CDR  
- ,1,0 1) *  
- ,2,0 2) *  
- ....  
-</verbatim>  
+Now find your CDR with <tt> cdrecord -scanbus</tt> , which returns something like 
  
-This means your CDR is at ,,0 just like on most single-drive machines with IDE CD writers
+ <verbatim>  
+ Cdrecord 2.01a16 (i686-pc-linux-gnu) (C) 1995-2003 Jörg Schilling  
+ Linux sg driver version: 3.5.28  
+ Using libscg version 'schily-.7'  
+ scsibus0:  
+ ,,0 ) 'HP ' ' CD-Writer+ 9100 ' '1.0c' Removable CDR  
+ ,1,0 1) *  
+ ,2,0 2) *  
+ ... .  
+ </verbatim>  
  
+This means your CDR is at 0,0,0 just like on most single-drive machines with [IDE] CD writers.  
  
  
 !!! Writing bootable CDs 
  
-The CD standard supports ' floppy emulation' , great for getting those old discs backed up and loading at 10 times the speed. If you have a floppy image you've downloaded, call it boot.img (or change the command line). If you have a 1.44Mb floppy, run  
- <verbatim >  
- # dd if=/dev/fd0 of=boot.img bs=10k count=144  
- </verbatim >  
- Put boot.img in an otherwise empty directory, and from that directory run  
- <verbatim >  
- # mkisofs -b boot.img -c boot.catalog . | cdrecord -v .  
- </verbatim
+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
  
-mkisofs will generate the boot.catalog file for you. Add ' -dummy' to cdrecord if you want a test run first. If cdrecord doesn't know about your cdr then you'll need to add ' dev=x,y,z' and possibly ' speed=n' . If you just want to create the .iso file then you can use ' -o boot.iso' with mkisofs instead of piping it to cdrecord. The ' .' at the end of mkisofs is still required though. 
+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. 
  
-There's a file 'README.eltorrito' in /usr/share/doc/mkisofs that explains how to do boot CDs. 
+<tt> /usr/share/doc/mkisofs/README.eltorrito</tt> explains how to create bootable CDs. 
  
 !! Writing out downloaded (ISO) CDs 
  
-The command you want to use is something like:  
- <verbatim >  
-# cdrecord dev=/dev/cdwriter abc.iso  
- </verbatim >  
-  
-Where you substitute the device name of your CD writer and file you downloaded. 
+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. 
  
 If you do not run as root you get the following message: 
-<verbatim>  
-cdrecord: Operation not permitted. WARNING: Cannot set RR-scheduler  
-cdrecord: Permission denied. WARNING: Cannot set priority using setpriority().  
-cdrecord: WARNING: This causes a high risk for buffer underruns.  
-</verbatim>  
  
-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. 
+ <verbatim>  
+ cdrecord: Operation not permitted. WARNING: Cannot set RR-scheduler  
+ cdrecord: Permission denied. WARNING: Cannot set priority using setpriority().  
+ cdrecord: WARNING: This causes a high risk for buffer underruns.  
+ </verbatim>  
+  
+ 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. 
  
 ---- 
-CategoryDiskNotes 
+Part of CategoryDiskNotes and CategoryStorage