ワbersetzt von Eduard Bloch <edi@ka.linux.de>. Fr die Richtigkeit der
ワbersetzt von Eduard Bloch <edi@ka.linux.de>. Fr die Richtigkeit der
ワbersetzung wird keine Gew臧r bernommen, lesen Sie bitte ebenfalls das
Original von Joerg Schilling. Sie benutzen diese ワbersetzung auf eigene
Gefahr.
Multisession-CDs herstellen
Mini HOWTO/FAQ
Multisession-Dateisystem ist ein Trick, der von der Kodak-PhotoCD kommt.
Das Betriebssystem mount'et die letzte Session (Sitzung), deren
Dateisystem die letzte, sowie alle vorherigen Sessions aufnimmt.
Ein Versuch (unter Linux):
Erstellen Sie ein iso9660-Dateisystem-Image mit mkisofs-1.10 oder hher.
mkisofs-1.1x ist wird cdrecord-1.3 und hher mitgeliefert (inc.
SunOS/Solaris Multisession-Support).
Benutzen Sie den -R Schalter fr die RockRidge-Erweiterungen (WICHTIG!!!).
Es wird hier angenommen, da゚ der CD-Recorder an der Target-ID2 des
SCSI-Busses angeschlossen ist.
Schreiben Sie die erste Session mit:
cdrecord -v speed=2 dev=2,0 -eject -multi isoimage.raw
isoimage.raw ist ein iso9660-Image mit RockRidge-Erweiterungen (s.oben).
Notieren Sie sich die Anzahl der Sektoren, die geschrieben wurden, man sollte
die CD mounten knnen.
Im n臘hsten Schritt ist es zu prfen, ob die bentigten Daten wieder
bestimmt werden knnen:
1) Die erste Block(Sektor)-Nummer des ersten Tracks der letzten
Session. Das ist 0 im unseren Fall.
2) Die n臘hste beschreibbare Stelle der nachfolgenden Session.
Es sollte die Anzahl der Sektoren aus dem ersten Durchlauf plus
ca. 11400 Sektoren (= 22MB) frs LeadIn/Out sein.
Diese Informationen werden mit:
cdrecord -msinfo dev=2,0
wieder ausgelesen.
Die Ausgabe besteht aus 2 Zahlen, getrennt durch eine Komma, z.B.:
0,204562
Erstellen Sie ein Image fr die n臘hste Session mit mkisofs-1.12 oder
hher. mkisofs ist in der Cdrecord-Distribution enthalten.
Die erste Nummer ist (1), die zweite ist (2).
2. Session:
Erstellen Sie einen Verzeichnis, der einen Unterverzeichnis mit neueren
Daten enth舁t.
z.B.
first_dir/
second_dir/
file_1
file_2
...
mit:
(unter Linux)
mkisofs -o isoimage_2.raw -R -C xx,yy -M /dev/cdwriter_blk_dev first_dir
(unter SunOS)
mkisofs -o isoimage_2.raw -R -C xx,yy -M target,lun first_dir
Der Argument nach -C ist die Ausgabe von "cdrecord -msinfo".
-Unter Linux, der Argument nach -M ist der Ger舩, von dem die CD
gemountet werden kann, also der CD-Brenner.
-Unter SunOS, target und lun entsprechen den SCSI-Target und -Lun
des Recorders, mit der gleichen Syntax wie bei "cdrecord
dev=xx,yy".
Wenn Sie prfen wollen, ob mkisofs seine Arbeit richtig macht, knnen Sie
mit dem folgenden Befehl ein anderes Image erstellen.
Unter Linux:
mkisofs -o isoimage_3.raw -R -C xx,0 -M /dev/cdwriter_blk_dev first_dir
Unter SunOS:
mkisofs -o isoimage_2.raw -R -C xx,= -M target,lun first_dir
**DIESES** Image kann getestet werden, in dem man es mit meinem "fbk"
unter Solaris oder dem loopback-Treiber unter Linux mountet.
Unter Linux:
mount isoimage_3.raw -r -t iso9660 -o loop /mnt
Unter SunOS:
mount -r -F fbk -o type=hsfs /dev/fbk0:isoimage_3.raw /mnt
Unter Solaris 8 (oder neuer) kann ebenfalls Suns lofi-Treiber verwendet
werden, siehe README.sun-lofi.de.
Wenn Sie nun den Inhalt von /mnt ansehen, sehen Sie alle Verzeichnisse
der vorherigen Session, plus das Verzeichnis second_dir inc. aller
Dateien darin. Der Versuch, die Dateien der alten Session zu lesen, fhrt
zu einem "I/O error" oder "Bad data" (abh舅gig von der Block-Adresse).
(A.d.ワ.: ist ja auch logisch, es sind nur Dateisystem-Eintr臠e, die auf
die nichtexistierende Session verweisen). Die neuen Dateien knnen
natrlich problemlos gelesen werden.
Um diese zweite Session auf die CD zu brennen, gibt man etwas wie
cdrecord -v speed=2 dev=2,0 -eject -multi isoimage_2.raw
ein.
Wenn die CD anschlie゚end gemountet wird, werden sowohl die Dateien der
alten Session, als auch die der Neuen in der Dateisystem der CD vorhanden
sein.
Zus舩zlicher Test:
cdrecord -msinfo dev=2,0
Die erste Nummer sollte die erste beschreibbare Adresse sein, die bei
dem ersten "cdrecord -msinfo" Aufruf nach der Erstellung der 1.en
Session ausgelesen wurde, die zweite ist die erste Nummer +
Anzahl der Sektoren der zweiten Session + ca. 11400 Sektoren.
Anmerkung: Der erste Lead-Out ist 1:30 (6750 Sektoren) lang, der erste
Lead-In 1:00 (4500 Sektoren). Alle nachfolgenden Sessions brauchen nur
0:30 fr Lead-Out (2250 Sektoren) und ebenfalls 1:00 fr Lead-In. Also
knnte man theoretisch bis zu 44 Sessions auf eine 74min. Disk
unterbringen, wenn man mit der Mindestl舅ge 4s/Track rechnet.
Joerg Schilling