Kernelmodul fuer 2.6.18er Kernel kompiliert nicht
-
Hallo,
ich versuche fuer einen selber gebauten 2.6.18er Kernel unter Debian folgenden Code als Modul zu kompilieren:#include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> static int __init hello_init(void) { printk(KERN_INFO "Hello world\n"); // a non 0 return means init_module failed return 0; } static void __exit hello_cleanup(void) { printk(KERN_INFO "Goodbye world\n"); } module_init(hello_init); module_exit(hello_cleanup);Makefile:
obj-m += hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules default: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) cleanich bekomme folgenden output:
make -C /lib/modules/2.6.18vmware/build M=/home/user/programming/hello modules make[1]: Entering directory `/usr/src/linux-source-2.6.18' WARNING: Symbol version dump /usr/src/linux-source-2.6.18/Module.symvers is missing; modules will have no dependencies and modversions. Building modules, stage 2. MODPOST /bin/sh: scripts/mod/modpost: No such file or directory make[2]: *** [__modpost] Error 127 make[1]: *** [modules] Error 2 make[1]: Leaving directory `/usr/src/linux-source-2.6.18' make: *** [all] Error 2.config: die Module options sind eingeschaltet, es wird jedoch nicht auf Modulversion geprueft; ich habe mit make-kpkg das kernel-image und die headers gebaut und nach dem make clean auch ein make oldconfig && make prepare gemacht.
Ich kompilier das in /user/home und glaube das es wohl "nicht der richtige Ort" fuer sowas sein koennte, aber wo dann? Kann das daran liegen?
Wie bekomm ich das Ding kompiliert?
Danke im voraus
-
versuchs mal vorher mit
cd /usr/src/linux-source-2.6.18 make scripts/mod/modpost