Linux ZIP-Laufwerk HOWTO

Marco Budde (Budde@tu-harburg.de) v3.0, 16. April 2000

In diesem HOWTO wird beschrieben, wie man ein ZIP-Laufwerk unter Linux installiert und benutzt.

Inhaltsverzeichnis

1 Einleitung 1 1.1 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Das ZIP-Laufwerk 2 2.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Welches ZIP-Laufwerk sollte man nehmen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Kernelkonfiguration 3 3.1 IDE-Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 SCSI-Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3 Version für die parallele Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.4 Rechner neu booten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Nutzung des Laufwerkes 6 4.1 ZIP-Medien mounten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 ZIP-Medien partitionieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 ZIP-Medien formatieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.4 ZIP-Medien einfacher mounten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.5 Tools für ZIP-Laufwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1 Einleitung

1.1 Feedback

Falls Sie Fehler in dieser HOWTO finden sollten oder Ihnen ein Abschnitt unverständlich erscheint, zögern Sie bitte nicht, mir dieses per E-Mail mitzuteilen. Sie erreichen mich per E-Mail unter folgender Adresse:

Internet: Budde@tu-harburg.de

Falls Sie Probleme bei der Installation, Konfiguration oder Benutzung Ihres ZIP-Laufwerkes haben, stellen Sie diese Fragen am besten in einer Linux-Newsgruppe wie z.B.:

     de.comp.os.unix.linux.misc

Hier lesen mit großer Wahrscheinlichkeit Anwender mit, die schon das gleiche Problem wie Sie gehabt und gelöst haben.

Mir selbst fehlt die Zeit, Fragen zu ZIP-Laufwerken per E-Mail zu beantworten.

1.2 Copyright

Dieses Dokument ist urheberrechtlich geschützt. Das Copyright liegt bei Marco Budde.

Das Dokument darf gemäß der GNU General Public License verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright-Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Eine Publikation in Papierform bedarf der Zustimmung des Autors.

Alle Rechte vorbehalten.

2 Das ZIP-Laufwerk

2.1 Grundlagen

Das ZIP-Laufwerk der Firma Iomega ist ein kleines und recht populäres Wechselplatten-Laufwerk. Es existieren zwei verschiedene Typen von Medien und dazu passende Laufwerke, die 100 MB bzw. 250 MB pro Medium speichern können.

Vor allem die Laufwerke für die 100 MB Medien sind sehr weit verbreitet und eignen sich deshalb sehr gut für den Austausch von Daten zwischen verschiedenen Rechnern. Sie ersetzen mehr und mehr die 1,44 MB-Diskettenlaufwerke, die für die heutigen Datenmengen hoffnungslos zu klein sind.

Zur Archivierung von Daten sind die ZIP-Laufwerke allerdings weniger geeignet:

• Die Laufwerke selbst sind zwar sehr günstig, aber die Medien sind pro MByte ziemlich teuer. So sind die Medien sechsmal teurer wie Medien für MODs und dreißigmal so teuer wie beschreibare CD-ROMs.

• ZIP-Laufwerke arbeiten wie Disketten mit einer rein magnetische Speicherung der Daten. Bei dieser Methode ist es durchaus möglich, daß nach einigen Jahren die Medien teilweise nicht mehr lesbar sind. Auch werden die Medien nicht berührungslos gelesen, so daß hier mit Abnutzungserscheinungen zu rechnen ist. MODs und CD-ROMs lesen die Medien hingegen optisch aus und verwenden auch ein anderes physikalisches Prinzip, um die Daten zu speichern, so daß hier mit einer deutlich längeren Haltbarkeit zu rechnen ist.

Beide Laufwerkstypen gibt es in verschiedenen Bauformen und mit unterschiedlichen Schnittstellen. So gibt es nicht nur interne sondern auch externe Laufwerke, die besonders dann interessant sind, wenn nicht alle Rechner, mit denen man Daten austauschen möchte, über ein solches Laufwerk verfügen. In einem solchen Fall kann man dann einfach das Laufwerk mitnehmen.

An Schnittstellen kann man beim Kauf zwischen folgenden wählen: parallele Schnittstelle, IDE, SCSI und USB. Das ZIP100 gibt es außerdem in der sogenannten Plus Variante. Dieses externe Laufwerk hat sowohl eine parallele wie auch eine SCSI-Schnittstelle. Allerdings berichten viele Anwender von Problemen mit der SCSI-Schnittstelle der Plus Variante.

Neben der heute für die IDE-Schnittstelle verfügbaren Version gab es früher noch eine IDE-Version des ZIP100, die sich für den PC wie eine Festplatte statt wie eine Wechselplatte verhielt. Diese Version aus den Anfangstagen hatte je nach Betriebssystem allerdings diverse Nachteile und ist heute nicht mehr erhältlich.

Das externe ZIP-Laufwerk für die parallele Schnittstelle enthält ein ZIP-Laufwerk mit einer SCSI-Schnittstelle und einem integrierten Konverter, der die SCSI-Schnittstelle in eine parallele Schnittstelle umwandelt. Das ist auch der Grund, warum man für diese Version einem SCSI-Treiber für Linux benötigt; dazu später noch mehr.

2.2 Welches ZIP-Laufwerk sollte man nehmen?

Falls man noch kein ZIP-Laufwerk besitzt und erst eines erwerben möchte, sollte man sich genau überlegen, welches man nehmen sollte. Eine ausführliche Beschreibung der Laufwerke ist auf der Homepage von Iomega zu finden:

     http://www.iomega.de/

Möchte man das Laufwerk nur mit dem eigenen Rechner benutzen, ist in der Regel ein internes IDE- oder SCSI-Laufwerk zu empfehlen, da diese deutlich schneller sind wie z.B. die externen Laufwerke für die parallele Schnittstelle. Außerdem spart man sich so die ganzen zusätzlichen Kabel und ein zusätzliches Netzteil.

Das externe Laufwerk mit einer parallelen Schnittstelle ist vor allem dann sinnvoll, wenn man das Laufwerk an vielen anderen PCs anschliessen möchte. Schließlich verfügt eigentlich jeder PC über eine externe parallele Schnittstelle.

Von den USB-Laufwerken ist zur Zeit im Zusammenhang mit Linux abzuraten, da Linux USB bisher nicht unterstützt.

Schließlich muß man sich noch zwischen der 100 MB und der 250 MB Variante des ZIP-Laufwerkes entscheiden. Hier fällt die Wahl eigentlich immer auf das ZIP100. Es gibt einfach zu wenige PCs, die über ein ZIP250 verfügen, so daß man die 250 MB Medien zum Datenaustausch sowieso nicht nutzen kann. Und für eine Archivierung von größeren Datenmengen sind ZIP-Medien viel zu teuer. Hier ist es dann schnell günstiger, sich zusätzlich zu einem ZIP100 noch ein MOD-Laufwerk oder einen CD-Brenner zu kaufen.

3 Kernelkonfiguration

Der erste Schritt, um ein ZIP-Laufwerk unter Linux nutzen zu können, besteht darin, in den Linux Kernel die passenden Treiber einzukompilieren oder als Modul zu laden. Falls Sie noch keine Erfahrung mit dem Linux Kernel gesammelt haben sollten, empfiehlt es sich, einen Blick in die Kernel HOWTO zu werfen.

Um einen neuen Kernel mit den passenden Treiber übersetzen zu können, muß der Source des Kernels zuerst konfiguriert werden. Hierzu wechselt man in der Verzeichnis mit dem Source - in der Regel /usr/src/linux - und gibt dort ein:

     make menuconfig

In dem Programm, das dann gestartet wird, gilt es, die passenden Treiber auszuwählen. Für welches Laufwerk welche Treiber benötigt werden, werden wir gleich noch näher sehen. Nach der Konfiguration muß der Kernel übersetzt und installiert werden:

     make dep clean bzImage modules
     make modules_install

Jetzt muß noch LILO aufgerufen und der Rechner neu gebootet werden, um den neuen Kernel zu aktivieren.

3.1 IDE-Version

Um die Treiber für die IDE-Versionen zu übersetzen, muß im Hauptmenü der Kernelkonfiguration der Menüpunkt »Block devices« gewählt werden. In dem darauf folgenden Menü müssen mindestens die beiden folgenden Punkte aktiviert sein:

     <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
     --- Please see Documentation/ide.txt for help/info on IDE drives
     [ ]    Use old disk-only driver on primary interface
     < >    Include IDE/ATA-2 DISK support
     < >    Include IDE/ATAPI CDROM support
     < >    Include IDE/ATAPI TAPE support
     <*>    Include IDE/ATAPI FLOPPY support

Falls man noch weitere IDE-Geräte besitzt, müssen natürlich auch die für diese Geräte notwendigen Treiber aktiviert werden. Auch für manche IDE-Chipsätze auf den Motherboards gibt es spezielle IDE-Treiber und -Patches.

3.2 SCSI-Version

Wenn man ein ZIP-Laufwerk mit SCSI-Schnittstelle in einen Rechner einbaut, der bereits vorher eine SCSI-Festplatte oder SCSI-Wechselplatte enthielt, so ist keine weitere Konfiguration am Linux Kernel notwendig, da alle SCSI-Festplatten und SCSI-Wechselplatten von ein und dem selben Treiber angesteuert werden.

Die für das ZIP-Laufwerk benötigten Treiber befinden sich unter dem Menüpunkt »SCSI support«. Die folgenden beiden Optionen müssen aktiviert werden:

     <*> SCSI support
     --- SCSI support type (disk, tape, CD-ROM)
     <*> SCSI disk support

Neben diesen Treibern muß der Treiber für den verwendeten SCSI-Hostadapter aktiviert werden. Iomega legt der SCSI-Version des Laufwerkes in der Regel einen einfachen Hostadapater mit Adaptecs AHA 152x Chipsatz bei. Falls man noch keinen eigenen SCSI-Hostadapter besitzt und den beiliegenden benutzten möchte, so muß unter »SCSI low-level drivers« dieser Treiber ausgewählt werden:

     <*> Adaptec AHA152X/2825 support

Da dieser Hostadapter von Linux nicht automatisch erkannt werden kann, muß man ihn Linux mit dem Bootparameter aha152x= bekannt machen. Eine Beschreibung dieses Parameter ist in der BootPrompt HOWTO zu finden.

3.3 Version für die parallele Schnittstelle

Da die ZIP-Laufwerke für die parallele Schnittstelle - wie vorher schon beschrieben - ein SCSI-Laufwerk mit einem SCSI-Hostadapter für die parallele Schnittstelle enthalten, erfolgt die Konfiguration des Kernels mehr oder weniger analog zu der der SCSI-Version.

Unter »Character devices« muß die Unterstützung der parallelen Schnittstelle eingeschaltet werden:

     <*> Parallel printer support

Als nächstes muß wieder unter »SCSI support« die SCSI-Unterstützung aktiviert werden:

     <*> SCSI support
     --- SCSI support type (disk, tape, CD-ROM)
     <*> SCSI disk support

Jetzt fehlt nur noch der Treiber für den im externen Laufwerk eingebauten SCSI-Hostadapter. Es stehen gleich zwei Treiber zur Auswahl: PPA und IMM. Der PPA-Treiber ist für ältere ZIP-Laufwerke gedacht. Seit dem ZIP100 Plus muß der IMM-Treiber benutzt werden.

     <*> IOMEGA parallel port (ppa - older drives)
     < > IOMEGA parallel port (imm - newer drives)

Welchen der beiden Treiber man aktivieren sollte, hängt also von dem verwendeten Laufwerk ab. Im Zweifelsfall muß man halt beide ausprobieren.

3.4 Rechner neu booten

Nachdem man den Kernel konfiguriert, kompiliert und installiert hat, muß der Rechner neu gebootet werden. Beim Booten sollte jetzt, wenn bei der Konfiguration alles richtig funktioniert hat, das ZIP-Laufwerk gefunden werden.

Bei einem SCSI-Laufwerk an einem NCR 810 SCSI-Hostadapter sieht das z.B. so aus:

     ncr53c8xx: at PCI bus 0, device 9, function 0
     ncr53c8xx: 53c810 detected
     ncr53c810-0: rev=0x02, base=0xe7000000, io_port=0xe400, irq=11
     ncr53c810-0: ID 7, Fast-10, Parity Checking
     ncr53c810-0: restart (scsi reset).
     scsi0 : ncr53c8xx - version 3.2
     scsi : 1 host.
     [...]
       Vendor: IOMEGA    Model: ZIP 100           Rev: J.03
       Type:   Direct-Access                      ANSI SCSI revision: 02
     Detected scsi removable disk sdc at scsi0, channel 0, id 5, lun 0

Die letzte Zeile zeigt, daß Linux dem ZIP-Laufwerk dieses Beispiels das Device /dev/sdc zugewiesen hat. Bei einem ZIP-Laufwerk für die parallele Schnittstelle wird die Meldung ähnlich aussehen, allerdings wird am Anfang natürlich ein andere Hostadapter erkannt.

Bei einem IDE-Laufwerk sieht die Meldung ungefähr so aus.

     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

Hier erhält das Laufwerk das Device /dev/hdc.

Falls man beim Booten Probleme hat, die durchlaufenden Meldungen schnell gut zu lesen, kann man sich alle Meldungen nach dem Booten mit dem Befehl dmesg anschauen.

4 Nutzung des Laufwerkes

Ein von Linux erkanntes ZIP-Laufwerk kann wie jedes andere Laufwerk über sein Device angesprochen werden. Es ist möglich, mit jeder Linux Anwendung direkt auf das Laufwerk und seine Daten zuzugreifen.

4.1 ZIP-Medien mounten

Standardmäßig enthalten ZIP-Medien von Iomega eine Partition mit der Nummer 4, wobei diese Partition mit einem MS-DOS-Dateisystem formatiert ist. Um ein solches Medium zu mounten, würde man folgendes eingeben:

     mount -t vfat /dev/sdc4 /zip

Die letzten beiden Parameter sind an die eigene Konfiguration anzupassen. In dem Beispiel wurde von einem SCSI-Laufwerk ausgegangen, dem Linux das Device /dev/sdc zugewiesen hat. Linux ordnet jeder Partition auf einem Device ein weiteres Device zu. Deshalb wird die vierte Partition des Laufwerkes mit dem Device /dev/sdc4 angesprochen. Der Mountpoint ist in diesem Beispiel /zip.

Natürlich muß der Mountpoint existieren, damit das Medium erfolgreich gemountet werden kann. Existiert das Verzeichnis noch nicht, muß es angelegt werden:

     mkdir /zip

Mit

     umount /zip

kann ein Medium wieder freigegeben werden. Bevor dieses nicht passiert ist, sperrt Linux den Auswurfknopf des ZIP-Laufwerkes.

4.2 ZIP-Medien partitionieren

Je nach Verwendungszweck kann es sinnvoll sein, die ZIP-Medien neu zu partitionieren und zu formatieren.

Folgende Formen der Partitionierung sind bei ZIP-Medien üblich:

»Superfloppy« Hier verzichtet man vollständig auf eine Partitionierung. Man spricht also z.B. direkt das Device /dev/sdc an. Das ZIP-Medium verhält sich dann also wie eine normale Diskette.

1. Partition Das Medium enthält eine Partition und zwar die erste in der Partitionstabelle. Es wird dann z.B. das Device /dev/sdc1 benutzt.

4. Partition Das Medium enthält eine Partition und zwar die vierte in der Partitionstabelle. Es wird dann z.B. das Device /dev/sdc4 benutzt. So liefert Iomega die Medien aus.

Welche Partitionierung man wählt, bleibt einem selbst überlassen. Meiner Meinung nach macht das »Superfloppy«-Konzept am meisten Sinn, da man Partitionen sowieso nicht benötigt und es sich ja nicht um eine Festplatte handelt. Für den Datenaustausch mit anderen Betriebssystemen kann es aber sinnvoll sein, die vierte Partition zu benutzen, da eventuell manche Systeme davon ausgehen, daß der Anwender das Medium nicht neu partitioniert hat.

Um ein ZIP-Medium neu zu partitionieren, kann das Programm fdisk benutzt werden. Das Programm wird so aufgerufen:

     fdisk /dev/sdc

Hierbei ist /dev/sdc wieder das Device des ZIP-Laufwerkes. Mit »p« kann man sich dann die auf dem Medium vorhandene Partitionstabelle anschauen:

     Command (m for help): p
     Disk /dev/sdc: 64 heads, 32 sectors, 96 cylinders
     Units = cylinders of 2048 * 512 bytes
        Device Boot    Start       End    Blocks   Id  System
     /dev/sdc4   *         1        96     98288    6  FAT16

Um eine bestehende Partition zu löschen, kann der Menüpunkt »d« benutzt werden. Mit »n« wird eine neue Partition angelegt. Nach der Erzeugung einer neuen Partition sollte man auch den Typ der Partition mit dem Menüpunkt »t« richtig setzen. Sind alle Änderung an der Partitionstabelle durchgeführt, wird sie »w« abgespeichert. Dabei gehen in der Regel alle Daten auf dem Medium verloren!

4.3 ZIP-Medien formatieren

Das Medium kann mit fast allen von Linux unterstütztem Dateisystem formatiert werden. Gebräuchtlich sind vor allem die Dateisysteme VFAT (Windows 95) und ext2 (Linux). Wenn man keine Dateirechte benötigt, empfiehlt es sich meistens, das VFAT-Dateisystem zu benutzen, da man dieses nicht nur unter Linux sondern auch mit den meisten anderen Betriebssystemen lesen kann.

Um z.B. das Medium in Laufwerk /dev/sdc, das als »Superfloppy« genutzt werden soll, mit einem ext2-Dateisystem zu versehen, benutzt man folgenden Befehl:

     mke2fs /dev/sdc

Ein VFAT-Dateisystem kann mit dem mkdosfs-Kommando erzeugt werden. Beide Programme kennen eine große Anzahl von Optionen, die in den beiden Manual Pages zu den Programmen beschrieben werden.

4.4 ZIP-Medien einfacher mounten

Es ist ja relativ lästig, immer den kompletten Befehl zum Mounten der ZIP-Medien per Hand einzugeben. Besser ist es, daß Laufwerk in die Datei /etc/fstab einzutragen. Ein solcher Eintrag für die standardmäßig partitionierten und formatierten ZIP-Medien sieht dann z.B. so aus:

     /dev/sdc4    /zip    vfat   defaults   0 0

Häufig möchte man zusätzlich die Optionen »user«, »gid« und »umask« benutzen, um normalen Benutzern das Mounten und Beschreiben der ZIP-Medien zu ermöglichen. Eine Beschreibung dieser Optionen sind in der Manual Page von mount zu finden.

Nachdem man ein Laufwerk so eingetragen hat, kann man ein ZIP-Medium einfach so mounten:

     mount /zip

Aber selbst dieser kurze Befehl kann einem zuviel werden, wenn man die Medien häufig im laufenden Betrieb wechselt. Eine sehr schöne Alternative bietet hier der Treiber »autofs« des Linux Kernels, der Laufwerke bei einem Zugriff automatisch mountet und nach einer bestimmten Zeit ohne Zugriff automatisch wieder freigibt.

4.5 Tools für ZIP-Laufwerke

Im Gegensatz zu normalen Disketten und z.B. MODs verfügen ZIP-Medien über keinen »Schalter« zur Aktivierung eines Schreibschutzes. Allerdings läßt sich ein ZIP-Medium mittels eines speziellen Programmes mit einem Schreibschutz versehen. Damit Viren und ähnliche Programme den Schreibschutz nicht einfach per Software wieder deaktivieren können, kann der Schreibschutz mit einem Paßwort geschützt werden.

Folgende Programme können den Schreibschutz und das Paßwort verändern:

mtools

     http://mtools.ltnb.lu/

GtkZip

     http://www.smallpig.net/gtkzip/