Last changes:16. 08. 2004: Using the DVD burner in the archive (thank you, Jenny!)
10. 11. 2004: Some more experiece with the DVD burner in the archive - seems to work fine now.
This How-To describes a more or less failsafe way to burn CDs and DVDs in our group. It differs from more convenient ways (like K3B or XCDroast) or those recommended by our computer people, but often the latter ways don't work... The method described here is the low-level way which is also used by graphical interfaces in the background. If this method does not work, any other most likely will neither.
| How | What | |
| mkisofs -JR -o <MyImage> <Files> | Make ISO image file (with Rockridge and Joliet file system) | |
| cdrecord -scanbus | Get device ID of burner | |
| cdrecord dev=<device> speed=<writespeed> blank=fast | Erase RW disc (CD/DVD-RW media only - all data on it will be lost!) | |
| cdrecord dev=<device> speed=<writespeed> <MyImage> | Burn ISO image file |
For the preparation of the burning one should build a so called ISO image of the CD/DVD. This image then contains all files and the directory structure in the CD/DVD raw format, ready to be burned. Open a shell and type:
mkisofs -JR -o <MyImage> <Files>
<Files> may be a directory, which then will be included into the ISO image completely, including all subdirectories. The creation of the image may take a while. The resulting image file <MyImage> must not be bigger than the capacity of the medium to be burned, i.e. ~800 MB for a CD and ~4.7 GB for a DVD. The options J and R say that the filesystem should be written both in Rockridge (Unix/Linux) and Joliet (Windows) manner, so that your disc afterwards will be readable in both worlds.
Now go to the PC where the burner is located. Open a shell there and type
cdrecord -scanbus
You'll get some output like this:
Cdrecord 2.0 (i686-suse-linux) Copyright (C) 1995-2002 Jörg Schilling
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.7'
cdrecord: Warning: using inofficial libscg transport code version
(okir@suse.de-scsi-linux-sg.c-1.75-resmgr-patch '@(#)scsi-linux-sg.c
1.75 02/10/21 Copyright 1997 J. Schilling').
scsibus0:
0,0,0 0) *
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) 'PLEXTOR ' 'CD-R PX-W1210S' '1.04' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
The important line is that one where the name of the burner occurs, here it's a Plextor CD burner. If you don't find the burner listed or don't get some output like above, something is wrong and you cannot burn on that PC. The final burning then is done by inserting your empty disc into the burner and typecdrecord dev=<device> speed=<writespeed> <MyImage>
where <device> is what the scanbus worked out, in the above example you'd write dev=0,4,0 to use the Plextor burner. <writespeed> is the writing speed the bruner should use, depending on the capabilities of the burner and your disc. If you e.g. know that the burner is able to burn with 24x speed, type speed=24. But check with the speed given on the CD/DVD cover and take the minimum of both, burner and disc speed. If you have no clue about the capabilities of the burner, type speed=0. This will in most cases choose the maximum speed, but in a few cases the minimum speed of 1, which would result in a looooong burning session... Well, try :-). Hint: On most CD burners there are three numbers on the tray you insert the CD in like 24x10x40x. The first number is the writing speed for CD-Rs, second is for CD-RWs and the third number is the reading speed.
That's it.
To use RW media requires one more step while burning, and only in case your RW disc is not empty (it is empty if you use it for the first time). This additional step is erasing the RW disc (which means - you guessed it - that the data so far on the disc will be lost). To erase the disc, before doing the burning type
cdrecord dev=<device> speed=<writespeed> blank=fast
This will take half a minute or so and then you may burn the RW with the burning cdrecord-command given above. Note that usually CD/DVD burners have a lower maximum burning speed for RW media.
This machine is known to "forget" its DVD drive some time after reboot. (Update: It seems that this problem no longer exists; dunno why...)
Firstly, I prepared images using mkisofs on Hauke's advice as above and copied them to /aux/pc127a (make yourself a directory here if you don't have one)
Then try:
cdrecord -scanbus
The output should look like:
Cdrecord 2.0 (i686-suse-linux) Copyright (C) 1995-2002 Jörg Schilling
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.7'
cdrecord: Warning: using inofficial libscg transport code version
(okir@suse.de-scsi-linux-sg.c-1.75-resmgr-patch '@(#)scsi-linux-sg.c
1.75 02/10/21 Copyright 1997 J. Schilling').
scsibus2:
2,0,0 200) 'PLEXTOR ' 'DVDR PX-708A ' '1.03' Removable CD-ROM
2,1,0 201) *
2,2,0 202) *
2,3,0 203) *
2,4,0 204) *
2,5,0 205) *
2,6,0 206) *
2,7,0 207) *
if this fails, reboot the machine, but please check who is logged in and ask the people in advance if it's OK to reboot (use the who command on pc127 to find out who is logged in).
Load k3b (Either via the command line, which seems to be more stable, or using the KDE menu: Multimedia->CD->k3b or from the "Support" quick link on
the desktop). It will pop up an error box about SCSI and CDOAO
but just ignore these.
Select Tools->DVD->Burn ISO image
Browse the directories for your image (I had to set type
selection to "All Files" to see my images)
hit the Start button to start writing
Please don't forget to remove your disc images from /aux/pc127a after successfully burning your disc!
This method worked repeatedly for several disks (ie. without having to reboot in between).
I was using Medianca DVD-R disks from the computing dept.
I had no success at all on this machine using cdrecord - though I tried a variety of options every time it died with errors:
cdrecord: Data will not fit on any disk. cdrecord: Cannot write more than remaining DVD capacity.
Jenny Hatchell 10 Aug 2004
Hauke Voß (hvoss@mpifr-bonn.mpg.de)
Room 2.39
Tel. 468