ich habe hier ein Problem mit dem Kompilieren eines WLAN-Treibers unter Debian
3.1 (sarge) und dem Kernel 2.6.8.
Kern des Problems sind Probleme mit den Kernel-Headern.
Ich habe das Kernelpaket 2.6.8-1-686 von Debian installiert. Der Kernel läuft
auch gerade auf dem System.
Dazu habe ich das Sourcepaket des Kernel installiert (kernel-source-2.6.
![Cool 8)](./images/smilies/icon_cool.gif)
Das Paket linux-kernel-headers ist ebenfalls installiert. Daher rühren diverse
Kernelheader (wie bspw. version.h) unter /usr/include/...
Unter /usr/src/treiber/ipw2200 habe ich mir einen Intel-Treiber ausgepackt,
den ich zu kompilieren gedenke. Voraussetzung dafür ist ein 2.6er Kernel, der
- wie gesagt - auf der Zielmaschine läuft.
Lt. der INSTALL-Beschreibung des Treibers soll das Aufrufen von "make" im
Quellverzeichnis reichen, um das Modul zu kompilieren.
Der Aufruf von make erzeugt allerdings ein paar Fehler, dahingehend, dass div.
Header nicht gefunden werden können.
Nachdem ich im Kernel-Source-Verzeichnis ein "make menuconfig" mit direkt
anschließendem "exit" gemacht habe, findet make neuerdings div.
*.c-Files, über die es vorher auch noch stolperte. Jedoch klemmt es nunmehr in
einer Tour über div. asm/*.h Files, die auf der Maschine vorhanden sind,
nämlich unter /usr/include, nicht aber unter /usr/src/kernel/
kernel-source-2.6.8 ...
Der Aufruf von make produziert dann eben die nachfolgenden Hinweise (es
handelt sich um die ersten dutzend Zeilen, es folgen hunderte Folgefehler).
Code: Alles auswählen
make -C /lib/modules/2.6.8-1-686/build SUBDIRS=/usr/src/treiber/ipw2200-0.19
MODVERDIR=/usr/src/treiber/ipw2200-0.19 modules
make[1]: Entering directory `/usr/src/kernel/kernel-source-2.6.8'
CC [M] /usr/src/treiber/ipw2200-0.19/ipw2200.o
In Datei, eingefügt von include/linux/module.h:10,
von /usr/src/treiber/ipw2200-0.19/ipw2200.h:32,
von /usr/src/treiber/ipw2200-0.19/ipw2200.c:33:
include/linux/sched.h:4:37: asm/param.h: Datei oder Verzeichnis nicht gefunden
In Datei, eingefügt von include/linux/types.h:13,
von include/linux/capability.h:16,
von include/linux/sched.h:7,
von include/linux/module.h:10,
von /usr/src/treiber/ipw2200-0.19/ipw2200.h:32,
von /usr/src/treiber/ipw2200-0.19/ipw2200.c:33:
include/linux/posix_types.h:47:29: asm/posix_types.h: Datei oder Verzeichnis
nicht gefunden
auch immer ...
Die Frage ist also nun: wie bekomme ich dem Makefile beigebogen, dass
Header-Files nicht nur unter /usr/src/kernel/kernel-source-2.6.8 findet,
sondern auch unter /usr/include ... ????
Muss man im Kernel-Source noch irgendwas machen außer make menuconfig, dass /
usr/include "allgemein" bekannt ist, oder wie kriege ich hier die Kuh vom Eis?
Danke für alle Tipps im Voraus!!
Gruß,
hermi
![traurig :(](./images/smilies/icon_sad.gif)