module erstellen geht nicht ???
-
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 ?meine /lib/modules/kernel***/build sieht so aus:
arch 2005-10-30 03:04 include 2005-10-30 03:04 include2 330 2005-06-02 16:53 Makefile 2005-06-02 22:59 Module.symvers 2005-10-30 03:06 scripts
-
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