henne wrote:
ich will mich ein wenig in die Treiber-Programmierung einarbeiten, doch leider scheitert es schon am "Hello World". :>
Source (steht in 2 Büchern so drinn und RTFM würd ich gern machen wenn ich ein M hätte);
#include
int init_module() { printk("Hallo Welt\n"); return 0; }
void cleanup_module() { printk("Ade du grausame Welt\n",); }
beim gcc führt das zu nichts anderem als:
/usr/lib/gcc-lib/i486-suse-linux/3.3/../../../crt1.o(.text+0x18): In function `_start': : undefined reference to `main' /tmp/cck6hemX.o(.text+0x11): In function `init_module': : undefined reference to `printk' /tmp/cck6hemX.o(.text+0x30): In function `cleanup_module': : undefined reference to `printk' collect2: ld returned 1 exit status
Ich würde mal darauf tippen, dass Du den gcc falsch aufrufst. Hmm, bei den modutils liegt im insmod/test Verzeichnis ein Beispiel für ein Modul, mit Makefile. Ist nicht viel, hänge ich einfach mal dran. Vielleicht hilft Dir das.
Ich würde gern wissen: Was ist da faul ? Und warum sind bei SuSE /usr/include/asm und /usr/include/linux keine Links zu den Kernel-Sourcen?
Die sind optional, musst Du nachinstallieren.
--
Gruß,
Andreas
#include