ich bin relativ neu im Bereich von Linux und würde mich deshalb über detailierte Hilfe sehr freuen.
Folgendes Problem: Ich habe ein debian kernel 2.6.33.7.2-rt30 mit RT_PREEMPT PATCH und wollte dafür ein einfaches hello_world modul schreiben. bereits beim compilieren werde ich darauf hingewiesen, dass #include <linux/module.h> nicht gefunden werden kann.
-> ich vermute mal einen Linkerfehler! weiss aber nicht genau wie ich diesen beheben kann
Mein Makefile sieht folgendermaßen aus (der kernel ist in /usr/src/linux enthalten)
Code: Alles auswählen
obj-m := hello_world.o
KDIR := /usr/src/linux
PWD := $(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
make -C $(KDIR) M=$(PWD) clean
Der zugehörige SourceCode ist folgender
Code: Alles auswählen
#define MODULE
#include <linux/module.h> /* Needed by all modules */
int init_module(void)
{
printk(KERN_ALERT "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_ALERT "Goodbye world 1.\n");
}
hat auch nicht wirklich eine Verbesserung mit sich gebracht
Wäre toll wenn mir jemand sagen könnte welche Links nun wirklich notwendig sind um eine Modul mit den notwendig Pfaden erzeugen zu können!!
mfg