next up previous contents index
Volgende: 15.2 Muziek afspelen Omhoog: 15 Multimedia Vorige: 15 Multimedia   Inhoudsopgave   Index


15.1 CD's branden

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 $\vert$ 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.


next up previous contents index
Volgende: 15.2 Muziek afspelen Omhoog: 15 Multimedia Vorige: 15 Multimedia   Inhoudsopgave   Index
Jarkko Huijts 2002-08-17