PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : modul problem



Mat
05-11-2005, 16:16
hallo,
ich möchte nur ein ganz simples modul erstellen und in den kernel einbinden...

Mein erstes Modul sieht so aus:


/*
* hello-1.c - The simplest kernel module.
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */

int init_module(void)
{
printk(KERN_INFO "Hello world 1.\n");

/*
* A non 0 return means init_module failed; module can't be loaded.
*/
return 0;
}

void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}



und mein Makefile so:



obj-m += hello-1.o

all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean



Aber bei mir erscheint der fehler:
* Für das Ziel all ist nichts zu tun *

Wie kann ich jetzt das zum laufen bringen ? eigentlich müsste er doch kompilieren oder etwa nicht ?
Warum geht das nicht ? Hab ich was übersehen ?

Mat
05-11-2005, 19:58
jetzt fängt wenigstens schon das kompilieren an... es kommt aber dieserfehler:
make -C /lib/modules/2.6.11.4-21.7-default/build M=<aufrufspdad> modules make[1]: Entering directory `/usr/src/linux-2.6.11.4-21.7-obj/i386/default' make -C ../../../linux-2.6.11.4-21.7 O=../linux-2.6.11.4-21.7-obj/i386/default modules CC [M] <aufrufspdad>hello-1.o In file included from /usr/src/linux-2.6.11.4-21.7/include/linux/module.h:10, from <aufrufspdad>hello-1.c:1: /usr/src/linux-2.6.11.4-21.7/include/linux/sched.h:332: error: `RLIM_NLIMITS' undeclared here (not in a function) make[4]: *** [<aufrufspdad>hello-1.o] Fehler 1 make[3]: *** [_module_<aufrufspdad>] Fehler 2 make[2]: *** [modules] Fehler 2 make[1]: *** [modules] Fehler 2 make[1]: Leaving directory `/usr/src/linux-2.6.11.4-21.7-obj/i386/default' make: *** [all] Fehler 2 ZUSATZ!!!!!!wenn ich in der sched.h datei die Zeile 332 auskommentiere...dann läufts durch....kann mir das jemand erklären ?

[0x[90]|
07-11-2005, 23:59
Eine kurze Suche bei Google nach "RLIM_NLIMITS" haette dir gezeigt dass du nicht der einzige bist der das Problem hat. Schau dir dort die Antworten dazu einmal an :)