Hallo zusammen, ich habe vor Kurzem (versucht) den Kernel auf mein System abgestimmt. Nach dem problemlosen Start, musste ich nun feststellen, dass der Fritz-Treiber "fcpci" nicht geladen werden kann. Auch ein nachträgliches Kompilieren des Treibers (/usr/src/kernel-modules/fritzcapi) mittels "make" und "make install" ergibt immer wieder folgendes Ergebnis: ------ modprobe fcpci FATAL: Error inserting fcpci (/lib/modules/2.6.4-54.5-ar2/extra/fcpci.ko): Invalid module format ------ Ein "dmesg" bringt folgende ergänzende Auskunft: ------ fcpci: version magic '2.6.4-54.5-default 586 REGPARM gcc-3.3' should be '2.6.4-54.5-ar2 PENTIUM4 REGPARM gcc-3.3' ------ Schön dass mir hier gesagt wird, wo der Treiber läuft. ;-) Also konkret: a) Warum funktioniert der Treiber nur unter dem Standard-Kernel? b) Wie kann ich den Treiber dazu bewegen, auch unter einem selbst kompilierten Kernel zu laufen? Viele Grüße Andreas Rau
On Tue, Jun 08, 2004 at 09:51:03PM +0200, Andreas Rau wrote:
Hallo zusammen,
ich habe vor Kurzem (versucht) den Kernel auf mein System abgestimmt. Nach dem problemlosen Start, musste ich nun feststellen, dass der Fritz-Treiber "fcpci" nicht geladen werden kann.
Auch ein nachträgliches Kompilieren des Treibers (/usr/src/kernel-modules/fritzcapi) mittels "make" und "make install" ergibt immer wieder folgendes Ergebnis:
------ modprobe fcpci FATAL: Error inserting fcpci (/lib/modules/2.6.4-54.5-ar2/extra/fcpci.ko): Invalid module format ------
Ein "dmesg" bringt folgende ergänzende Auskunft:
------ fcpci: version magic '2.6.4-54.5-default 586 REGPARM gcc-3.3' should be '2.6.4-54.5-ar2 PENTIUM4 REGPARM gcc-3.3' ------
Schön dass mir hier gesagt wird, wo der Treiber läuft. ;-)
Also konkret:
a) Warum funktioniert der Treiber nur unter dem Standard-Kernel?
Falsche Frage. Besser: Warum compiliert der Treiber mit falscher Konfiguration ? Weil nicht der entsprechende kernel lief oder die Konfiguration veraendert oder geloescht (make clean) wurde oder weil im /usr/src/kernel-modules/fritzcapi schon kompiliert wurde und nicht make clean ausgeführt wurde.
b) Wie kann ich den Treiber dazu bewegen, auch unter einem selbst kompilierten Kernel zu laufen?
Baue den Treiber mit der gleichen Konfiguration wie Du den kernel gebaut hast. Dazu in /usr/src/kernel-modules/fritzcapi make clean make KERNEL_SOURCE=/usr/src/linux-2.6.4-54.5-ar2 # oder wo Dein kernel Source Dir auch immer ist make KERNEL_SOURCE=/usr/src/linux-2.6.4-54.5-ar2 install Wichtig das KERNEL_SOURCE= muss genau das sein wo compiliert wurde und es muss alle Dateien enthalten (es darf kein make clean gemacht worden sein). -- Karsten Keil SuSE Labs ISDN development
participants (2)
-
Andreas Rau
-
Karsten Keil