Bei dem 2.6 Kernel habe ich gemerkt,
dass es wesentlich einfacher ist, die Module direkt in den Kernel zu
kompilieren, anstatt sie in das Imagefile, in dem sich die Module
befinden, zu packen.
Wenn man sich die neueren 2.6er Kernel anschaut, wird dem einen oder
anderen vielleicht aufgefallen sein, dass die Module nicht mehr als
ext2 System vorliegen, sondern mit gzip und cpio gepackt sind. Das
machte die Sache zu meinem Ärger etwas komplizierter, da es immer
wieder zu einem Kernel Panic kam und ich nicht rausfinden konnte woran
es lag. Alle Hilfen die ich in Foren nachlaß, schlugen bei mir
fehl. Natürlich kann man den alten Zustand wieder herstellen, doch
man fragt sich, welchen Vorteil es haben sollte, diesen Aufwand bei
jedem Kernel neu zu veranstalten.
Da das alles viel zu lange dauert, und ich ein fauler Mensch bin, habe
ich eine Möglichkeit gesucht, die Iteraid-Treiber gleich in den
Kernel zu kompilieren, sodass ich mittels Grub auch von dieser Platte
booten kann. Aber ich fand nur Patches, die etwas älter
waren, als den Kernel, den ich gerade benutzte. Also suchte ich weiter,
und fand eine sehr einfache Möglichkeit, die mich von den Patches
unabhängig macht. Diesem
Tutorial
von Hendrik-Jan Heins habe ich noch kleine Ergänzungen
hinzugefügt, sodass die Beschreibung für den 2.6.9er
up-to-date ist. Falls jemand Kerneltreiber für den 2.4er
erstellen will, sollte auch das obige Tutorial lesen.
1. Zuerst sollte man sich den neuen
Kernel(2.6.9) besorgen. Diesen sollte man dann in das Verzeichnis "/usr/src/" entpacken. Jetzt muß man entweder
ein "make
oldconfig" laufen lassen oder das Config-File seines gerade
aktuellen Kernels verwenden (Es liegt meist in "
/boo/config*"). (Unter debian gibt
es mit dem aktuellen 'testing' Zweig ein wenig Probleme mit "
make oldconfig", zu diesem Problem
sollte in den entsprechenden Foren geguckt werden).
2. Jetzt besorgt man sich seine Iteraid-Treiber, sollte man dies noch
nicht gemacht haben. Den Treiber bekommt man auf dieser Seite "
www.ite.com.tw". Ich gebe nicht den
kompletten Pfad an, weil die Esel das irgenwie dauernd ändern.
3. Man entpackt die 2.6er Treiber nun (
NUR
iteraid.o und iteraid.h) in das Verzeichnis "/
usr/src/linux-2.6.x/drivers/scsi".
Jetzt geht man in das scsi Verzeichnis und sucht im "
Konfig.in" File, die Einträge
von
SCSI_SATA_VIA. Hinter
diesem Eintrag, fügt man folgende Zeilen ein:
config SCSI_ITE_RAID
tristate "ITE IT8212 support"
depends on SCSI && PCI && EXPERIMENTAL
help
For use of the ITE IT8212 RAID controller.
If unsure, say N. |
Danch geht man noch in das Makefile und fügt, wieder hinter dem
SCSI_SATA_VIA Modul-Eintrag,
folgende Zeile ein:
| obj-$(CONFIG_SCSI_ITE_RAID) += iteraid.o |
4. Als Anschluß muß man den Treiber noch im Kernel
aktivieren. Dies kann man mittels: "
make
config", "
make menuconfig"
oder "
make xconfig" machen.
Folgende Treiber müssen für einen fehlerfreien Betrieb in den
Kernel gelinkt werden:
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_ITE_RAID=y
|
Mittels "make menuconfig" sind die Treiber unter "
Device Driver ---> SCSI device
support --->" und "
Device
Driver ---> SCSI device support ---> SCSI low-level drivers"
zu erreichen. (Dies kann scih jedoch von Kernel zu Kernel ändern.)
5. Man sollte nun seinen Kernel von Grund auf neu kompilieren, da es
bei mir z.B nicht klappte, wenn ich nur die Binarys in den
entsprechenden Verzeichnisen gelöscht habe. Aus diesem Grund
sollte man folgendermaßen fortfahren:
make clean
make
make modules
make modules_install
make install
|
Falls noch Fragen offen sein sollten, schaut euch das
Tutorial von Hendrik-Jan Heins
an.