
Dieses Howto beschreibt die Installation von Debian Woody mit einem Promise FastTrak Controller.
Als Beispiel dient ein onboard FastTrak133/Lite.
Eine kleine Anmerkung vorneweg: Die meisten sogenannten Raid-Controller
(darunter auch die FastTrak33/66/100/133 und ihre onboard Varianten) sind
keine echten Hardware-Raid-Controller. Sie bieten hardwareseitig nur einen
normalen IDE-Controller mit mehreren Kanälen sowie ein Bios zur
Konfiguration. Sämtliche Raid-Funktionalitäten erledigt der Treiber - somit
ist es wieder ein CPU lastiges Softwareraid.
Auch wenn dieses Howto für Debian geschrieben wurde ist der grundlegende
Prozess bei anderen Distributionen ziemlich ähnlich.
Promise bietet fertige Module für verschiedene Distributionen an, leider nicht für Debian. Also wird der Source benötigt welcher hier erhältlich ist. Aus diesen Sourcen kann man an einem anderen Linuxsystem das passende Modul kompilieren und alles für eine Installation vorbereiten. Des weiteren müssen die passenden Kernelheader installiert und nach /usr/src/linux gelinkt sein:
apt-get install kernel-headers-2.4.18-bf2.4 ln -s /usr/src/kernel-headers-2.4.18-bf2.4 /usr/src/linux
Nun wird das Treiberarchiv entpackt und dort einmal make ausgeführt, was das erforderliche Modul kompiliert.
Als nächstes wird eine formatierte Diskette benötigt, auf welche das Modul kopiert wird um beim späteren Bootvorgang geladen werden zu können (etwas umständlich, aber nötig):
fdformat /dev/fd0 mount /floppy mkdir /floppy/boot mkdir /floppy/lib mkdir /floppy/lib/modules mkdir /floppy/lib/modules/2.4.18-bf2.4 mkdir /floppy/lib/modules/2.4.18-bf2.4/kernel mkdir /floppy/lib/modules/2.4.18-bf2.4/kernel/drivers mkdir /floppy/lib/modules/2.4.18-bf2.4/kernel/drivers/scsi cp FastTrak.o /floppy/lib/modules/2.4.18-bf2.4/kernel/drivers/scsi cp FastTrak.o /floppy/boot umount /floppy
Alternativ dazu gibt es hier ein für Debian Woody passendes Image welches mittels dd if=fasttrak.bin of=/dev/fd0 bs=1440k count=1 auf eine Diskette geschrieben werden kann.
Nun kann wie gewohnt eine Debian CD, Netinstall, ein Floppyset oder via Netzwerk gebootet werden, solange bf24 (BootFlavor 2.4, also Kernel 2.4.18) zur Verfügung steht. Nach den üblichen Sprach- und Keyboardeinstellungen wählt man nun Preload essential Modules from Floppy aus, legt die Diskette ein und wählt FastTrak.o aus. Von diesem Punkt an werden die Raid-Arrays des FastTrak als SCSI-Festplatten erkannt. Falls keine "echten" vorhanden sind heisst dies:
Raid-Array 1: /dev/sda Raid-Array 2: /dev/sdb usw...
Nun gibt es nur noch einen Punkt zu beachten: Da das FastTrak Modul schon
vor dem Mounten des root-fs geladen sein muss, ist ein initrd image zwingend
erforderlich! Der Debian Installer erkennt dies allerdings automatisch und
richtet dies auch selbstständig ein, solange man eine kleine Bootpartition
am Anfang des Array's anlegt. 10-15MB sollten hierfür reichen.
Nun steht einer erfolgreichen Installation eigentlich nichts mehr im Wege
und das System sollte auch weiterhin klaglos vom Raid-Array booten.
Sollten sich am normalen Onboard-Controller weitere IDE-Festplatten befinden erfordert dies eine gesonderte Behandlung. LILO muss mitgeteilt werden dass das Raid-Array nicht die erste Disk im System ist. Dazu benötigt man folgenden Eintrag in der /etc/lilo.conf:
disk=/dev/hda bios=0x80 disk=/dev/sda bios=0x81
Bei mehreren Festplatten am Onboard-Controller verschiebt sich das Array
einfach um eins nach hinten (0x82, 0x83 usw).
Auch beim nativen Kerneltreiber (s.u.) ist dies zu beachten, dort ersetzt
man lediglich /dev/sda durch /dev/ataraid/d0.
Neuere Linuxkernel (meines Wissens nach seit 2.4.20) bieten ein eigenes,
natives Modul für Promise FastTrak Controller an. Wer dieses nutzen möchte
muss nur eine Bootdisk mit passendem Kernelsupport für den Controller
erstellen, Anleitungen zum erstellen einer eigenen Bootdisk gibt es diverse
im Netz. Ich war allerdings mit der Performance nicht zufrieden, so dass ich
wieder das Modul von Promise benutze.
Wer dennoch das Kernelmodul testen möchte sollte beachten dass die
Raid-Arrays anders angesprochen werden:
Raid-Array 1: /dev/ataraid/d0 Raid-Array 1 Partition 1: /dev/ataraid/d0p1 Raid-Array 1 Partition 2: /dev/ataraid/d0p2 Raid-Array 2: /dev/ataraid/d1 Raid-Array 2 Partition 1: /dev/ataraid/d1p1 Raid-Array 2 Partition 2: /dev/ataraid/d1p2 usw...
Ausserdem tauchen im System die einzelnen Festplatten des Arrays plötzlich
als /dev/hde bis /dev/hdh auf, doch auf diese sollte man
tunlichst nicht zugreifen. Ein Systemabsturz ist sehr wahrscheinlich, ein
teilweiser bis kompletter Datenverlust des Arrays möglich.
Des Weiteren wird ein initrd Image bei dieser Lösung nicht benötigt.
Debian + Promise FastTrak
Stand: 08.12.2003
Carsten Brandhorst (NAPALM)