Zum Inhalt springen

Suse 10: Kernel Modul kompilieren - Error


Empfohlene Beiträge

Geschrieben

Hallo alle miteinander!

Ich wende mich an euch, da ich leider keine!! Ahnung mehr habe wie ich weiter vorgehen soll.

Ich möchte gerne das Modul Keyboard Leds des Linux Kernel Module Programming Guides (http://tldp.org/LDP/lkmpg/2.6/html/index.html) als Kernel Module kompilieren.

Dafür gibt es auch ein Makefile, dass wie folgt aussieht:


BUILD=/lib/modules/$(shell uname -r)/build


obj-m += kbleds.o



all:

	make -C $(BUILD) M=$(PWD) modules


clean:

	make -C $(BUILD) M=$(PWD) clean

Wenn ich nun in dem Verzeichnis wo ich auch die SourceCode Datei liegen habe make ausführe bekomme ich folgende Ausgabe:

make -C /lib/modules/2.6.13-15.13-default/build M=/KernelModules/kbleds modules

make[1]: Entering directory `/usr/src/linux-2.6.13-15.13-obj/i386/default'

make[1]: *** No rule to make target `modules'.  Stop.

make[1]: Leaving directory `/usr/src/linux-2.6.13-15.13-obj/i386/default'

make: *** [all] Error 2

Das Verzeichnis /usr/src/linux-2.6.13-15.13-obj/i386/default (indem es ja anscheinend irgendwas nicht gefunden wird) sieht folgendermaßen aus:

linux:/ # ls -l /usr/src/linux-2.6.13-15.13-obj/i386/default/

total 248

drwxr-xr-x  2 root root    152 Dec 23 13:13 .

drwxr-xr-x  3 root root     72 Dec 22 12:35 ..

-rw-r--r--  1 root root 251325 Dec 11 01:57 Module.symvers

lrwxrwxrwx  1 root root     25 Dec 23 13:13 linux-2.6.13-15 -> /usr/src/linux-2.6.13-15/

lrwxrwxrwx  1 root root     29 Dec 23 13:12 linux-2.6.13-15-obj -> /usr/src/linux-2.6.13-15-obj/


Ich habe mir über den Software Manager die Pakete gcc, g++ und die Kernelsourcen hinzuinstalliert. Mein /usr/src Verzeichnis sieht folgendermaßen aus: Was mich hier wundert - Warum gibt es hier drei verschiedene Verzeichnisse für einen kernel. Für was brauche ich das XX-obj Verzeichnis?

linux:/ # ls -l /usr/src/

total 44728

drwxr-xr-x   7 root root      312 Dec 23 14:09 .

drwxr-xr-x  12 root root      344 Dec 21 21:54 ..

drwxr-xr-x   3 root root       80 Dec 21 21:51 kernel-modules

lrwxrwxrwx   1 root root       15 Dec 22 17:55 linux -> linux-2.6.13-15

-rw-r--r--   1 root root 45755705 Dec 22 14:06 linux-2.6.11.12.tar.gz

drwxr-xr-x  19 root root      784 Dec 23 13:18 linux-2.6.13-15

drwxr-xr-x   3 root root       72 Dec 22 17:54 linux-2.6.13-15-obj

drwxr-xr-x   3 root root       72 Dec 22 12:35 linux-2.6.13-15.13-obj

lrwxrwxrwx   1 root root       19 Dec 22 17:55 linux-obj -> linux-2.6.13-15-obj

drwxr-xr-x   7 root root      168 Dec 21 21:56 packages

Meine Kernel Version uname -r:

2.6.13-15.13-default

meine GCC version gcc --version:
linux:/ # gcc --version

gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)

Copyright (C) 2005 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
meine Make version:
linux:/ # make -version

GNU Make 3.80

Copyright (C) 2002  Free Software Foundation, Inc.

This is free software; see the source for copying conditions.

There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE.
KANN ES SEIN, DASS ICH NICHT DIE PASSENDEN KERNEL SOURCEN HABE?

linux:/ # rpm -qa kernel* 

kernel-default-2.6.13-15.13 

kernel-default-nongpl-2.6.13-15.13 

kernel-source-2.6.13-15 

kernel-update-tool-0.9-10


Wenn das stimmt, wo bekomme ich die passenden her?

Kann mir jemand einen Tipp geben warum das make für das Beispielprogramm nicht funktioniert. Fehler im Beispielprogramm schließe ich aus da ich es schon einmal auf einem anderen Rechner erfolgreich als Kernelmodul kompiliert habe. (Auf diesen habe ich leider jetzt keinen zugriff mehr).

Es würde mich sehr freuen Tipps zu bekommen um herauszufinden was da genau nicht zusammenpasst!

Vielen Dank im Voraus für eure Antworten,

Lg und frohes fest,

rain

Geschrieben

Danke für die Antwort.

Aber leider kann ich das make noch immer nicht ausführen. Es kommt immer noch der gleiche Fehler auch wenn ich in usr/src/linux:

make clean

make cloneconfig

make prepare-all

ausführe.

Bin für jeden Tipp dankbar,

rain

Geschrieben

In linux:/lib/modules/2.6.13-15.13-default/build findet sich folgendes:


linux:/lib/modules/2.6.13-15.13-default/build # ll

total 248

drwxr-xr-x  2 root root    152 Dec 23 13:13 .

drwxr-xr-x  3 root root     72 Dec 22 12:35 ..

-rw-r--r--  1 root root 251325 Dec 11 01:57 Module.symvers

lrwxrwxrwx  1 root root     25 Dec 23 13:13 linux-2.6.13-15 -> /usr/src/linux-2.6.13-15/

lrwxrwxrwx  1 root root     29 Dec 23 13:12 linux-2.6.13-15-obj -> /usr/src/linux-2.6.13-15-obj/


hier mein /boot Verzeichnis:
linux:/boot # ll

total 6027

drwxr-xr-x   3 root root     496 Dec 24 13:34 .

drwxr-xr-x  24 root root     576 Dec 24  2006 ..

-rw-r--r--   1 root root  756843 Dec 11 01:46 System.map-2.6.13-15.13-default

-rw-------   1 root root     512 Dec 21 22:00 backup_mbr

lrwxrwxrwx   1 root root       1 Dec 21 21:52 boot -> .

-rw-r--r--   1 root root   63905 Dec 11 01:56 config-2.6.13-15.13-default

drwxr-xr-x   2 root root     632 Dec 23 11:09 grub

lrwxrwxrwx   1 root root      27 Dec 22 12:35 initrd -> initrd-2.6.13-15.13-default

-rw-r--r--   1 root root 1741549 Dec 22 12:35 initrd-2.6.13-15.13-default

-rw-r--r--   1 root root  128000 Dec 21 22:18 message

-rw-r--r--   1 root root   73537 Dec 11 01:57 symvers-2.6.13-15.13-i386-default.gz

-rw-r--r--   1 root root 1840176 Dec 11 01:56 vmlinux-2.6.13-15.13-default.gz

lrwxrwxrwx   1 root root      28 Dec 22 12:35 vmlinuz -> vmlinuz-2.6.13-15.13-default

-rw-r--r--   1 root root 1542725 Dec 11 01:46 vmlinuz-2.6.13-15.13-default

Ich glaube, dass ich durch in online Update einen neuen Kernel installiert bekommen habe. Also den 2.6.13-15.13-default. Die Kernelsourcen habe ich aber nur für den 2.6.13-15. Kann das der Fehler sein? Wenn ja wie mache ich das Update ruchgängig, oder wie bekomme ich das make hin?

Danke,

rain

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...