Installation von SuSE Linux 10 auf einem Adaptec 2100S
Bei der (versuchten) Installation meines neuen Mailservers stiess ich auf ein Problem des SCSI-Raidcontrollers Adaptec 2100S mit meiner SuSE Linux 10 Distribution.
Die Installation klappte eigentlich einwandfrei. Aber beim ersten Neustart blieb das System nach dem Laden des Kernels irgendwann mit Fehlermeldungen zum Raidcontroller hängen. Die Fehlermeldungen betrafen Probleme mit der Reservation von Memory-Bereichen, abgeschalteten PCI-Interrupten und zum Schluss jeweils ein "Trying to abort cmd=xxxx".
Dieses Problem ist bei Novell registriert und man arbeitet an einer Lösung.
Workaround
Das Problem rührt von der Verwendung verschiedener Module für den Adaptec 2100S her.
Während der Installation wird das Kernelmodul «dpt_i2o» (DPT=Distributed Processing Technology, 1999 von Adaptec aufgekauft) verwendet. Nach der Installation wird jedoch auch noch das generische I2O-Modul «i2o_core» geladen. Danach steht das System...
Mein Workaround - da wohl eher zukunftsorientiert - besteht in der Wahl der generischen I2O-Architektur und Treiber.
Vorgehen
- Installation ganz normal beginnen.
- Sprache auswählen.
- Lizenzvereinbarung abnicken.
- Installationsmodus (Neuinstallation) wählen.
- Uhr und Zeitzone auswählen.
- Desktop bzw Installationspaket selektieren.
- Jetzt stehen wir im Schirm «Installtionseinstellungen» (Zusammenfassung).
Das Festplattenmodul «dpt_i2o» ist geladen. Yast schlägt die Partitionierung der Platte «/dev/sdxxx»vor.
- Jetzt wechseln wir mittels «CTRL-Alt-F2» auf die nächste freie Konsole.
- Nun entladen wir per «rmmod dpt2_i2o» das proprietäre Modul.
- Und laden die generischen I2O-Module mit «modprobe i2o_block» (lädt automatisch auch «i2o_core», das Basismodul).
- Der Befehl dmesg zeigt nun den gefundenen Adapter und - sofern welche existieren - die unter «/dev/i2o/hdxxx» abgebildeten Partitionen.
- Wir wechseln per «ALT-F7» zurück zur grafischen Console mit Yast. Hier brechen wir die Installation ab.
- Das Consolen-Yast zeigt uns nun eine rote Fehlermeldung an. Bitte diese mit «OK» quittieren.
- Im Yast den Menupunkt «Installation / System starten» wählen.
- Nochmals mit «Installation/Update starten» weiterfahren. Danach mit der Quelle (CD-ROM, Netzwerk etc) weitermachen.
- Wenn wir uns jetzt wie üblich durch die Installation klicken, sehen wir bei der Partitionierung nun die Festplatte als «/dev/i2o/hdxxx» angezeigt.
- Wir installieren jetzt gemäss unseren Vorstellungen das Betriebssystem. Nicht zu weit weglaufen, wir müssen Yast vor dem ersten automatischen Neustart des Computers abfangen!
- Kurz vor Schluss installiert Yast den Bootloader und erzeugt die initial ramdisk (initrd). Danach will Yast den Computer neu booten. Hier fangen wir Yast ab und klicken rechtzeitig auf «Anhalten».
- Wir wechseln wieder auf eine Textconsole. Wir müssen die Datei «/etc/sysconfig/kernel» des produktiven Systems editieren. Aber Vorsicht, die Partitionen sind noch unter «/mnt» gemountet. Also machen wir «/mnt» zu unserem root (chroot /mnt).
- Nun editieren wir die «/etc/sysconfig/kernel» mit dem vi-editor. Wir ändern die Zeile mit den «INITRD_MODULES» und fügen dort neben dem «i2o_core» auch das Modul «i2o_block» hinzu. Fehlt dieses Modul in der initial ramdisk so wird der Adaptec 2100S zwar erkannt, die darüber zur Verfügung gestellten Festplatten-Partitionen werden aber nicht erkannt.
- Nun erstellen wir die initial ramdisk mit dem Befehl «mkinitrd» neu. Die Meldungen zeigen uns an, dass nun auch das «i2o_block-Modul» hinzugefügt wird.
- Nun zurück zur grafischen Konsole (ALT-F7) und das System neu booten.
- SuSE Linux 10 startet nun neu und die restlichen Arbeiten an der Installation verlaufen wie gewöhnlich.
Ich hoffe, dass Novell/SuSE die etwas stiefmütterliche Behandlung (zB nicht vom Installationssupport abgedeckt) der RAID-Controller von Adaptec so schnell wie möglich behebt und diese Anleitung nicht mehr benötigt wird. Für Fehlermeldungen oder Ergäzungen bin ich sehr dankbar.