Um neue Hardware unter Linux betreiben zu können, ist es fast immer
notwendig, einen neuen Kernel zu konfigurieren und kompilieren. Für
weitergehende Informationen zur Konfiguration und Kompilierung des
Kernel gibt es die
Linux Kernel HOWTO. Besonders hilfreich ist die
Dokumentation, die mit dem Kernel mitgeliefert wird; alle
Dateien sind im Verzeichnis Documentation/
des Kernel Sources
zu finden. Der erste
Schritt zu einem neuen Kernel ist die Konfiguration. Hier wählt man die
Kernelkomponenten aus, die man braucht. Als erstes wechselt man in das
Verzeichnis /usr/src/linux
. Es gibt verschiedene Wege,
die Konfiguration zu ändern.
Unter X-Window kann man
make xconfig
nutzten. Im
Zeileneingabemodus kann man
make config
oder
make menuconfig
benutzten. Der einfachste Weg
dürfte wohl xconfig
sein.
Damit die Konfigurationsänderungen wirksam werden, muß man den Kernel kompilieren. Dies macht man am besten so:
make dep clean zImage modules modules_install zlilo
Nach einem reboot
sollten die Treiber geladen und das Zip-Laufwerk erkannt werden.
Um das Iomega Zip-Laufwerk in der SCSI Version unter Linux benutzten zu können, muß der Kernel so konfiguriert werden, daß er SCSI-Laufwerke und SCSI-Adapter erkennt. Ist schon ein SCSI-Laufwerk unter Linux erkannt, so braucht der Kernel nicht mehr neu konfiguriert und kompiliert werden. Ansonsten muß man den Kernel wie folgend konfigurieren und danach kompilieren.
Bei der Konfiguration muß man im Bereich SCSI-Support SCSI support = Y
setzten. SCSI disk support = Y
muß auch gesetzt werden.
Im Bereich SCSI low-level driver muß man den angeschlossen SCSI-Adapter
auswählen, sofern dieser nicht schon in der alten Konfiguration ausgewählt
wurde. Nun kann man das Konfigurationstool verlassen.
Man kann alles oder Teile der SCSI-Konfiguration als Module laden. Man
muß beim Booten nur auf die richtige Reihenfolge achten:
scsi.o
, sd.o
, SCSI-Adapter-Treiber
Damit der Zip Zoom SCSI-Adapter erkannt wird, muß man einen Boot-Befehl
ähnlich aha152x=0x340,11,7,1
übergeben oder in die Datei
/etc/lilo.conf
in der append
-Zeile eintragen. Der
Bootbefehl übergibt dem Treiber die
Portadresse und den Interrupt des SCSI-Adapters. Man muß darauf achten, daß die
Jumper auf der Karte mit den Zahlen übereinstimmen.
Auch empfiehlt sich hier, die
BootPrompt HOWTO zu lesen.
Die Plus Version des Zip-Laufwerkes nutzt nicht den PPA Treiber, sondern den IMM Treiber. Die Entwicklung des Treibers ist noch im Alpha-Stadium, was man auch an der aktuellen Versionsnummer 0.18 erkennen kann. Deshalb ist die Konfiguration des Kernels auch etwas schwieriger. Man muß den Kernel wie folgt konfigurieren und kompilieren.
Bei der Konfiguration muß man im Bereich SCSI-Support SCSI support = Y
setzten. SCSI disk support = Y
muß auch gesetzt werden. Im Bereich Loadable module support muß man Enable loadable module support = Y
setzten. Im Bereich Character devices muß man Parallel printer support = M
setzten. M
steht hier für Module.
Man muß an dieser Stelle keinen SCSI low-level Treiber auswählen. Diesen werden wir an späterer Stelle selber kompilieren.
Damit man die neuste Version des IMM Treibers hat, sollte man diesen von
http://www.torque.net/~campell/imm.tar.tar
herunterladen. Mit
tar xvfz imm.tar.tar
kann man den Treiber entpacken;
dieses geschieht am besten im Verzeichnis /usr/src
.
Mit dem Befehl make
kompiliert man nun den Treiber und erhält
das Modul imm.o
. Diese Datei kopiert man mit
cp imm.o /lib/modules/$(uname -r)/scsi
in das
Modulverzeichnis, auf das der Kernel zugreift.
Wenn das Modul lp geladen ist (kann man mit lsmod
herausfinden), so kann man das Modul mit dem Befehl rmmod lp
»entladen«.
Mit dem Befehl insmod imm
wird dann das Modul imm geladen. Nun
sollte alles funktionieren.
Wenn das Zip-Laufwerk nicht eingeschaltet oder nicht mit dem Computer verbunden ist, so bekommt man die Meldung
init_module: Device or resource busy
und das Modul IMM wird nicht geladen.
Wenn das Zip-Laufwerk eingeschaltet und mit dem Computer verbunden ist, aber keine Zip-Diskette im Laufwerk ist, so bekommt man die Meldung, das die Partitionstabelle nicht gelesen werden kann. Dies macht aber nichts, da die Partitionstabelle automatisch gelesen wird, wenn man eine Diskette einlegt. Wenn eine Diskette im Laufwerk ist, so bekommt man einige Informationen angezeigt.
Um das Iomega Zip-Laufwerk in der Parallel Port Version unter Linux benutzten zu können, muß der Kernel so konfiguriert werde, daß er SCSI-Laufwerke und Parallel Port als Laufwerksanschluß erkennt.
Bei der Konfiguration muß man im Bereich SCSI-Support SCSI-Support = Y
setzten. SCSI disk support = Y
muß auch gesetzt werden.
Im Bereich SCSI low-level driver muß man IOMEGA Parallel Port Zip drive SCSI support = M
setzten. M steht hier für Modul, d.h. der Treiber wird erst bei
Bedarf als Modul in den Speicher geladen und aktiviert.
Im Bereich Character Devices muß man Parallel Printer support = Y
setzten.
Man muß die einzelnen Treiber an irgendeiner Stelle laden. Bei den meisten Linux-Distrubitionen muß man einfach einige Zeilen in den Startskripten ändern. Wenn man automatisches Laden von Kernelmodulen aktiviert (in der Kernelkonfiguration) hat, sollte alles von alleine gehen.
Um das Iomega Zip-Laufwerk in der ATAPI bzw. IDE Version unter Linux benutzten zu können, muß der Kernel so konfiguriert werden, daß er ATAPI- bzw. IDE-laufwerke erkennt.
Bei der Konfiguration muß man im Bereich Floppy, IDE, and other block
devices Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support = Y
setzten.
Include IDE/ATAPI FLOPPY support = Y
muß auch gesetzt werden.