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
    

Anmelden zum Antworten