Hier kun je cdrecord (http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html) voor gebruiken. Het zit zeer waarschijnlijk wel bij je distributie.
Cdrecord gaat ervan uit dat je een SCSI-brander hebt. Heb je die niet, dan moet
je SCSI-emulatie gebruiken. Geef bij de LILO-prompt de optie hda=ide-scsi
mee, met in plaats van hda de device die jouw CD-brander aangeeft. Wil je deze
optie altijd laten gebruiken, neem dan in het juiste image-blok in
/etc/lilo.conf de volgende regel op:
append="hda=ide-scsi"
Is er al een append-regel, zet deze optie er dan bij. Laad nu de module ide-scsi. Heb je die niet, zie dan paragraaf 9.2. Naast deze module voor SCSI-emulatie heb je ook de modules sr_mod, sg en scsi_mod nodig. (Heb je wel SCSI-brander, dan heb je alleen deze laatste 3 modules nodig en ide-scsi niet.) Zet de namen van deze modules in /etc/modules om ze bij het opstarten te laten laden. Met cdrecord -scanbus kun je kijken of de brander gevonden wordt.
Om data op een CD te branden maak je eerst een ISO aan met mkisofs
-J -o isofile directory. De optie -J zorgt ervoor dat Joliet-extenties
worden gebruikt. Die zijn nodig om lange bestandsnamen onder Windows
te laten zien. Om lange bestandsnamen onder Linux en ook informatie
als eigenaren van de bestanden en de permissies op de CD te laten zetten
zijn rock ridge-extenties nodig. Gebruik daarvoor -r
. Een andere optie
die interessant is, is -f
. Dan worden symbolic links gevolgd en wordt het
bestand waar de symlink naar wijst gebruikt i.p.v. de symlink zelf.
Je kunt op dezelfde CD zowel Joliet- als rock ridge-extenties gebruiken.
Je kunt het aangemaakte ISO-bestand controleren door hem te mounten met een loopback device (daar heb je de module loop voor nodig): mount -t iso9660 -o loop isofile testdir. Dan staat de inhoud van het ISO-bestand onder de directory testdir gemount.
Heb je een ISO-bestand gemaakt, dan kun je hem op een CD zetten met cdrecord -v speed=16 dev=0,0,0 -data isofile. Vervang 16 door de gewenste snelheid en de getallen achter dev door die voor jouw brander (te vinden met cdrecord -scanbus). Heb je een IDE-brander, dan is het 0,0,0 net zoals bij mij.
Op een enigszins modern systeem is het niet nodig om eerst een ISO te maken en
dan pas te branden. Het kan veel sneller door de output van mkisofs door te
pipen naar cdrecord. Dan doe je met een commando als
mkisofs -r -f -J directory cdrecord -v dev=0,0,0 speed=2 -data -.
De - achter -data
zorgt ervoor dat cdrecord data inleest van stdin
(wat gelijk is aan de stdout van mkisofs door het pipen).
Je kunt in ook meerdere sessies branden. Dat is wel wat lastiger. Hier volgen aanwijzingen hoe je dat moet doen. Brand met cdrecord -v dev=0,0,0 speed=16 -multi isofile. Het eerste ISO-bestand kun je op bovenstaande manier met mkisofs maken of je kunt het on-the-fly doen de eergenoemde pipe-methode. Alle ISO's voor volgende sessies moet je maken met een commando als mkisofs -r -J -f -o isofile -C $(cdrecord -msinfo dev=0,0,0) -M /dev/scd0 directory. Achter -M geef je aan welke device je CD-brander is. Bij SCSI-emulatie heeft je CD-writer een nieuwe devicenaam, /dev/scd0 als je geen echte SCSI-apparatuur hebt om CD's te lezen/branden. In combinatie hiermee gebruik je ook altijd de optie -C. Hiermee geef je aan op welke sectoren de laatste en nieuwe sessie beginnen. Hierdoor wordt een ISO-bestand gemaakt dat als 2e of hogere sessie gebrand kan gaan worden.
Wil je een 1-op-1-kopie maken van een andere CD (geen audio) en je hebt naast de brander ook nog een normale CD-ROM-speler, dan kun je de data van de CD direct over laten branden met cdrecord -v dev=0,0,0 speed=16 -isosize /dev/cdrom. Het is echter wel wat veiliger om er eerst een ISO-file van te maken. Daar zou je mkisofs voor kunnen gebruiken, maar kan het ook met dd if=/dev/cdrom of=isofile. Daarna brand je het ISO-bestand op de gebruikelijke wijze. Met dd kun je ook zogenaamd ''onkopieerbare'' CD's kopieren.
Een herschrijfbare CD kan snel worden gewist met cdrecord -v dev=0,0,0 speed=16 -bank=fast. Vervang fast door disc om de gehele CD te wissen.
Je kunt audio-CD's branden met cdrecord -v speed=16 dev=0,0,0 -audio -pad
track1.wav track2.wav track3.wav.
De optie -pad zorgt ervoor dat de tracks ''gepad'' worden om een veelvoud van
2352 bytes groot te zijn als dat nog niet het geval is. Dan kan elke CD-speler
met de audiodata overweg. Audio en data combineren is ook mogelijk. Dan geef
je aan cdrecord gewoon data- en audio-argumenten tegelijk mee (-data
en
-audio
).
Ik heb zelf een paar hele kleine scriptjes gemaakt om minder te hoeven intikken en ben daar prima tevreden mee. Er zijn echter ook verschillende grafische frontends voor mkisofs en cdrecord, zoals Eroaster, GCombust, Gnome-Toaster en X-CD-Roast. Deze frontends worden bij de meeste distributies wel meegeleverd.
Normaal gesproken kun je cdrecord alleen als root gebruiken. Lees paragraaf 11.8 om dit ook als normale gebruiker te kunnen. Dit is echter in de meeste distributies al allemaal voor je geregeld. Ook de SCSI-emulatie wordt voor je geregeld tijdens de installatie van in ieder geval RedHat en Mandrake, zodat je ook daar zelf niks meer aan hoeft te doen.