Nachdem der Kernel mit den notwendigen Treiber ausgestattet ist sollte der Kernel beim Booten die Laufwerk und ggf. den Adapter erkennen. Bei der folgenden Diskussion gehe ich davon aus das man die Module geladen hat oder das die Modules automatisch geladen werden.
In den meisten Bereichen verhalten sich die Parallel Port- und SCSI Version gleich. Die Parallel Port Version ist aber etwas langsamer.
Beim Booten von Linux wird eine Vielzahl von Informationen ausgegeben, bspw. Über den Adapter, das Laufwerk und die Diskette in Laufwerk. Wenn man beim Booten keine Diskette im Laufwerk hat werden einige Informationen nicht angezeigt.
Wo und welche Informationen angezeigt werden hängt davon ab wie man
sein System konfiguriert hat. Normalerweise werden die Informationen auf
der System-Konsole angezeigt. Einige Informationen werden in
/var/log/messages abgespeichert. Die Kernelmeldungen kann man mit dem
Befehl dmesg
anzeigen.
Hier ein paar Beispiel was ein Kernel beim Booten anzeigt:
ppa: Version 1.28s
Probing port 03bc
Probing port 0378
SPP port present
EPP test failed on Read/Write
ppa: 0x0378 SPP
Probing port 0278
scsi4 : Iomega parport ZIP drive
scsi : 1 host.
Vendor: IOMEGA Model: ZIP 100 Rev: D.08
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi5, channel 0, id 6, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
sda: Write Protect is off
sda: sda1
Die erste Zeile zeigt Informationen über die Initialisierung des Low-Level Treibers für den SCSI Adapter, in diesem Fall der PPA Treiber. Die zwei folgenden Zeilen zeigen das nach dem Zip-Laufwerk gesucht wird, bzw. nach dem Parallel-Port an dem das Zip-Laufwerk angeschlossen ist. Es folgt eine Liste mit allen SCSI Geräten, die auf dem SCSI Bus gefunden wurden. Zeile 12 gibt Information über den Gerätenamen, der diesem SCSI Gerät zugewiesen wurde, in diesem Fall /dev/sda. Jetzt werden noch alle Partitionen des Geräts (Zip-Diskette) angezeigt (hier nur /dev/sda1).
hdc: IOMEGA ZIP 100 ATAPI, ATAPI FLOPPY drive
Partition check:
hdc: 98304kB, 196608 blocks, 512 sector size
hdc: 98304kB, 96/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm
hdc: hdc4
Die erste Zeile zeigt, daß das Zip-Laufwerk an hdc hängt (Primary-IDE-Bus, Master). Jetzt werden noch alle Partitionen des Geräts (Zip-Diskette) angezeigt (hier nur /dev/hdc4).
Wenn man eine neue Zip-Diskette direkt von Iomega verwendet zeigt der Partition check immer /dev/xxx4.
Die Kernelausgaben können Hinweise darauf geben ob etwas falsch konfiguriert wurde, deshalb lohnt es sich immer diese genau anzuschauen.
Nachdem das Zip-Laufwerk vom Kernel erkannt und die Treiber geladen wurden, kann man mit den normalen Linux Laufwerksbefehlen Daten bearbeiten. Mit fdisk kann man die Partitionstabelle verändern. Mit dem Befehl mke2fs kann man die Zip-Diskette mit dem ext2-Dateisystem formatieren. Der Befehl mount hängt eine formatierte Partition (der Zip-Diskette) in die Verzeichnisstruktur ein, mit automount kann das automatisiert werden. Mit Samba kann das ZIP-Laufwerk z.B. für eine Arbeitsgruppe freigegeben werden. eject eignet sich dazu, ZIP-Medien mit einem Shell-Befehl auswerfen zu lassen.
Am besten man studiert sehr genau die man-Pages zu den einzelnen Programmen. Da teilweise die Parameter von Version zu Version unterschiedliche Belegungen haben sollte, man sehr vorsichtig die einzelnen Programme handhaben. Es besteht die Gefahr eines Datenverlusts, der nicht mehr rückgängig gemacht werden könnte.
Die Tools im Einzelnen:
Wenn man eine Zip-Diskette mit einer DOS Dateistruktur hat, die von Iomega erstellt wurde, so ergibt ein Partitionscan das die Diskette eine Partition hat (/dev/xxx4).
Man muß ein Verzeichnis anlegen in das die Partition eingehängt werden soll (nehmen wir /mnt/zip). Das Verzeichnis erstellt man mit dem Befehl:
mkdir /mnt/zip
Nun muß man die Partition der Zip-Diskette auch in das Verzeichnis hängen:
mount -t vfat /dev/hdc4 /mnt/zip
Man kann auch msdos anstatt vfat verwenden. Vfat kann im Gegensatz zu msdos
mit langen Dateinamen umgehen. Damit die Dateisystem auch verwendet werden
können müssen sie im Kernel als Modul oder fest einkompiliert sein.
Während die Diskette »gemountet« ist kann man sie nicht mit Druck auf den Auswurfsknopf aus dem Zip-Laufwerk herausholen. Wenn man mit der Arbeit an der Zip-Diskette fertig ist muß man sie »unmounten« damit sie sich aus dem Laufwerk holen läßt. Dies geschieht mit folgendem Befehl:
umount /mnt/zip
Wenn man die Daten auf einer Zip-Diskette löschen und ein ext2fs-Dateisystem anlegen möchte muß man folgende Programme aufrufen:
fdisk /dev/hdc
Mit d
löscht man eine bestehende Partition. Mit dem Befehl n
erzeugt man eine neue Partition. Der ersten Partition kann man die Nummer 1
geben. Mit w
schreibt man dann die Partitionstabelle
auf die Diskette. Und mit q
beendet man dann fdisk.
Mit dem Befehl
mke2fs /dev/hdc1
formatiert man dann die Partition.
Mit dem Befehl
mount -t ext2 /dev/hdc1 /mnt/zip
wird dann die Zip-Diskette mit dem ext2-Dateisystems in das Verzeichnis
/mnt/zip gehängt.
Das Mounten und Unmounten von ZIP-Medien wird schnell eine lästige Übung, insbesondere dann, wenn es sich um ein freigegebenes Laufwerk in einem (Arbeitsgruppen-) Server handelt. Abhilfe schafft hier der Einsatz eines Automount-Daemons.
Dieser Abschnitt geht davon aus, daß das Paket autofs installiert ist. Dies dürfte in allen aktuellen Distributionen der Fall sein.
Es existiert ein Verzeichnis /misc
. In der Konfigurations-Datei
/etc/auto.master
steht der Eintrag:
/misc /etc/auto.misc --timeout=60
Der Eintrag bedeutet einen Verweis auf eine weitere Konfigurations-Datei
namens /etc/auto.misc
. In diese Datei wird folgende Zeile eingefügt:
zip -fstype=vfat,rw,users,umask=0 :/dev/xxx4
Damit wird ein Alias namens "zip" für das Laufwerk definiert. Weiterhin wird der Typ
des Dateisystems und der Schreib-/Lesezugriff festgelegt. Außerdem haben alle Benutzer
Zugriff auf das jeweils gemountete Wechselmedium und alle darauf gespeicherten Dateien,
unabhängig davon, von wem das Medium gemountet wurde.
In der Praxis funktioniert das Automounten so: bei einem Zugriff auf /misc/zip
(ein Verzeichnis, das eigentlich nicht existiert) wird der Mount-Point angelegt und
das im ZIP-Laufwerk befindliche Medium daran gemountet. Das Medium bleibt (in dieser
Konfiguration) eine Minute (60 Sekunden) nach dem letzten Zugriff gemountet. Danach wird es
automatisch wieder geunmountet und kann aus dem Laufwerk entnommen werden. Um diese Zeit zu
ändern, verändere man den Timeout in der Datei /etc/auto.master
. Es ist kein
Problem, den Timeout deutlich niedriger anzusetzen (auf 10 Sekunden beispielsweise), da nach
dem Unmounten das Medium im Laufwerk bleibt und durch den Automount-Daemon bei Bedarf schnell
wieder gemountet wird, ohne daß man die Verzögerung dadurch bemerkt. Der Timeout sollte nicht
höher als eine Minute eingestellt werden, da man sonst zu lange auf den Auswurf des
Wechselmediums warten müßte.
Für eine Samba-Freigabe gibt man nun das Verzeichnis /misc/zip
frei. Hier ein Beispieleintrag
für die Samba-Konfigurations-Datei:
[zip]
comment = ZIP-Laufwerk
path = /misc/zip
public = yes
writable = yes
printable = no
Der Ablauf in der Praxis: man lege ein Medium in das Laufwerk ein und greife von einem
entfernten Rechner auf die Freigabe "zip" zu. Samba versucht, von /misc/zip
zu lesen,
Automount reagiert und mountet das Medium. Nach Ablauf des Timeouts kann das Medium entnommen
werden, ein Zugriff auf die Konsole oder per Telnet ist unnötig.
Für alle, die Angst haben, daß sich der Auswurfknopf des ZIP-Laufwerkes abnutzen könnte, gibt es ein nützliches Tool: eject.
Dazu lege man in /dev
einen symbolischen Link auf das ZIP-Laufwerk an, z.B. mit:
ln -s /dev/hdc4 /dev/zip
Mit
eject zip
wird das Wechselmedium ausgeworfen, falls es gemountet war, wird es vorher geunmountet.
Zip-Disketten kann man auch mit einem Schreibschutz versehen. Dieser
Schreibschutz wird über Software gesteuert. Unter Linux gibt es auch ein
Programm, das dieses Funktion bietet. Man kann das Programm bei
http://www.cnct.com/~bwillmot
herunterladen.
Die unterschiedlichen Schnittstellen der Zip-Laufwerke haben großen Einfluß auf die Geschwindigkeit der Laufwerkes. So ist natürlich eine ATAPI-Version einer Parallel-Port Version (mit einem alten PPA-Treiber) in Sachen Geschwindigkeit bei weitem überlegen. Mit einem neueren PPA-Treiber ist der Unterschied schon nicht mehr so groß. Deshalb sollte man immer die neuste Version der Treiber verwenden.
Generell läßt sich sagen, daß Transferraten von ca. 1,4 MB/s - 700 kB/s realistisch sind.