Dieses HOWTO soll eine Hilfe zum Problem sein, CD-R und CD-RW unter NetBSD zu erstellen.
Es wird auf das Erstellen von ISO-Abbildern und den Kopiervorgang dieser Abbilder auf eine Daten-CD, das Auslesen ("Rippen") und das Brennen von Audio-CDs sowie das Kopieren von MP3-Dateien auf eine CD-Audio eingegangen.
Der Zweck dieses HOWTOs ist, aufzuzeigen, wie CD-R und CD-RW sowohl mit Daten- wie auch mit Audio-Tracks gebrannt werden koennen.
Ich war, als ich die erste CD auf meinem NetBSD-System gebrannt habe, ueberrascht, wie einach und reibungslos alles ablief. Es tauchten kaum Probleme auf; lediglich das Finden der richtigen Tools war etwas zeitraubend. Dieses HOWTO stellt einen Bericht dar, in dem ich meine Erfahrungen weitergeben und eine Schritt fuer Schritt Anleitung bieten moechte.
Das HOWTO wurde auf einem NetBSD-1.5/i386 System mit einem YAMAHA CRW4416 Brenner und einem MEMOREX-482E und einem mit HP 8???? und ???? getestet.
Ich lehne jede Haftung fuer Schaeden an Hard- und Software, die bei der Verwendung dieses HOWTOs entstehen koennen, ab.
Dieses Dokument darf frei weitergegeben werden; die Verbreitung in elektronischen wie auch in Printmedien ist gestattet und ausdruecklich erwuenscht.
Ich nehme Korrekturen und Verbesserungen, die an christoph.leuzinger@westworks.ch gesendet werden, dankend entgegen.
Vielen Dank an term_emu aus #netbsd und Frederico Lupi fuer seine Dokumentation.
Die vorliegende Version des HOWTOs ist die Erstfassung vom 24.2.2001, überarbeitet am 17.3.2001. Sie existiert ausschliesslich in Deutsch.
Das HOWTO wurde verfasst von Christoph Leuzinger.
Um eine Daten-CD zu brennen, muss zuerst ein ISO-Abbild des Tracks erstellt werden. Als Tool dazu kann mkisofs(8), das im Paket sysutils/mkisofs enthalten ist, verwendet werden.
Das Programm mkisofs(8) erlaubt es, aus mehreren Dateien oder einem ganzen Verzeichnisbaum ein iso9660-Abbild zu erstellen.
Bemerkung: Die Dateinamen im iso9660-Dateisystem muessen nach dem 8.3-Muster zusammengesetzt sein, damit die Dateien unter Systemen wie MS-DOS zugaenglich sind. mkisofs(8) versucht zwar, die Dateinamen entsprechend zu korrigieren, es kann aber dennoch zu Problemen kommen (Details siehe man 8 mkisofs).
Beispiel:
$ mkisofs -aflrTv -o abbild.iso meinedaten/Bemerkung: Das ISO-Abbild kann u. U. recht gross werden (~700MB). Falls nicht genuegend Platz auf der Festplatte fuer das temporaere Speichern vorhanden ist, siehe 4.1 Nicht genug Speicherplatz auf der Festplatte.
Ist das ISO-Abbild erstellt, kann es mit dem Programm cdrecord(1) (Paket sysutils/cdrecord) auf eine CD-R gebrannt werden. Zuvor muss man aber Superuser sein.
Beispiel:
$ suDie Option -v veranlasst cdrecord(1), Meldungen ueber den Status des Brennvorgangs auszugeben. Bei Verwendung der Option -eject wird die CD nach erfolgtem Brennvorgang ausgeworfen. Die Option speed=4 gibt die Brenngeschwindigkeit an (in diesem Fall 4fach). Optional kann der Wert auch in der Umgebungsvariablen $CDR-SPEED abgelegt werden. Die Option dev=/dev/rcd0d gibt das Geraet an, auf das geschrieben werden soll (siehe 4.3 Wo ist mein CD-Recorder/CD-ROM?). Das ISO-Abbild, das auf die CD-R geschrieben werden soll, wird als letztes Argument, abbild.iso, uebergeben.
Der Brennvorgang fuer CD-RW entspricht im Wesentlichen jenem fuer CD-R. Falls jedoch die CD-RW noch beschrieben ist und zuerst geloescht werden muss, kann die Option blank fuer cdrecord(1) mit folgenden Werten verwendet werden:
Naeheres siehe man 1 cdrecord.
Beispiel:
$ suIn diesem Abschnitt werde ich beschreiben, wie man Audio-Daten auf eine CD-R brennt. Eine Audio-CD ist eine CDR, die in gewoehnlichen CD-Spielern abgespielt werden kann. Die Daten liegen deshalb in einem speziellen Format (CDDA) vor.
Es gibt verschiedene Bezugsquellen fuer die Audiodaten:
Um Audio-CD auszulesen ("rippen"), kann das Programm cdparanoia(1) aus dem Paket audio/cdparanoia verwendet werden. Dieses Programm kann die Audio-Daten in verschiedenen Datei-Formaten speichern, darunter das WAVE-Format (.wav).
Daten im WAVE-Format haben den Vorteil, dass man sie durch Software (z. B. audioplay(1)) abspielen kann, nachdem sie ausgelesen worden sind. Ausserdem kann man sie mit geeigneter Software bearbeiten.
Vor dem Brennvorgang muss man sie zuerst in das CDR-Format konvertieren. Das Programm sox(1) ermoeglicht dies (siehe 3.2 WAVE- und andere Audio-Formate).
Beispiel:
$ suVom Geraet /dev/rcd0d (siehe 4.3 Wo ist mein CD-Recorder/CD-ROM?) wird der Track Nummer 1 ausgelesen und in der Datei 1.wav gespeichert. (Ohne spezielle Option speichert cdparanoia(1) die Daten im WAVE-Format.)
Beispiel:
$ suBei diesem Beispiel werden die Tracks 1-6 der CD ausgelesen. Das Programm erzeugt daraus, durch das Setzen der Option -B, 6 Dateien track1.cdda.wav, track2.cdda.wav, usw.
Bevor Audio-Daten auf eine CDR gebrannt werden koennen, muessen sie im CDDA/CDR/RAW-Format vorliegen. Das funktionsreiche Programm sox(1) aus dem Paket audio/sox ermoeglicht das Konvertieren von vielen Audio-Formaten.
Beispiel:
$ sox quelle.wav ziel.cdrFalls Dateien im MP3-Format vorliegen, muessen sie ueber einen Umweg - sie muessen zuerst in WAVE-Dateien umgewandelt werden - in RAW- bzw. CDR-Dateien umgewandelt werden.
Die Konvertierung von MP3 zu WAVE kann z. B. mit dem Programm mpg123(1) aus dem Paket audio/mpg123 durchgefuehrt werden.
Beispiel:
$ mpg123 -v -s -r 44100 --stereo --wav ziel.wav quelle.mp3Danach liegt die Datei im WAVE-Format vor. Der unter 3.2 WAVE- und andere Audio-Formate beschriebene Vorgang kommt zur Anwendung.
Wie beim Brennen von CD-R(W) werden auch Audio-CD mit dem Programm cdrecord(1) erstellt.
Beispiel:
$ suDie Optionen entsprechen ebenfalls denen von oben; neu ist die Option -audio, die bezeichnet, dass eine CDDA geschrieben werden soll. Als Argumente werden die Tracks, die auf die Audio-CD geschrieben werden sollen, angefuehrt (track1.cdr, track2.cdr, ... trackn.cdr).
Beim Erstellen von ISO-Abbildern kann es zu Festplattenkapazitaetsengpaessen kommen. Um eine Zwischenspeicherung zu umgehen, kann das Abbild per Pipe an cdrecord(1) weitergegeben werden.
Beispiel:
$ suDetails siehe man 1 cdrecord.
Microsoft-Systeme koennen nur CD-R(W) lesen, deren Dateisystem mit sog. Joliet-Erweiterungen versehen ist. Soll eine CD-R(W) auf diesen Systemen lesbar sein, muss beim Erstellen eines ISO-Abbildes das Programm mkhybrid(8) (sysutils/mkhybrid) mit der Option -J verwendet werden.
Beispiel:
$ mkhybrid -a -r -J -v -o abbild.iso meinedaten/NetBSD weist bei der Verwendung von cdrecord(1) und cdparanoia(1) einige Besonderheiten bezueglich der Geraete auf.
cd0 at atapibus0 drive 0: <YAMAHA CRW4416E, , 1.0e> type 5 cdrom removable cd0: 32-bit data port cd0: drive supports PIO mode 4, DMA mode 2 cd1 at atapibus0 drive 1: <MEMOREX-482E CD-ROM, MT1102A Firmware, VER 1.0> type 5 cdrom removable cd1: 32-bit data portDer Zugriff auf den CD-Recorder ist zudem nur gewaehrleistet, wenn der Benutzer die Rechte ueber das Geraet besitzt (Superuser werden).