probleme beim kompilieren des kernel moduls

Dieses Thema im Forum "C/C++" wurde erstellt von magenspueler, 23.06.2007.

  1. #1 magenspueler, 23.06.2007
    Zuletzt bearbeitet: 24.06.2007
    magenspueler

    magenspueler Grünschnabel

    Dabei seit:
    23.06.2007
    Beiträge:
    2
    Zustimmungen:
    0
    hi.

    ich bin neu hier im forum und habe auch gleich ein problem. ich moechte mich mit der programmierung von kernelmodulen anfangen zu beschaeftigen und habe das problem, dass immer wenn ich ein solches zu kompilieren versuche ein schwall von fehlern ueber meine konsole rennt. leider kann ich mir diese fehler nicht erklaeren und bitte deshalb hier um hilfe.
    zu meinem versuch: ich habe bisher nur versucht ein hello world programm zum laufen zu bringen. laut mehrerer tutorials, die ich gelesen habe und den dort angehaengten komentaren sollte es wohl kein problem sein, so autor und user dieser seiten. bei mir will es aber einfach nicht klappen, denn der compiler beschwert sich ueber divisionen durch null und fehlende declarations von kostanten. mein source ist ausserst trivial und sollte, meiner meinung nach, fehlerfrei sein:
    Code:
    #include <linux/module.h> 
    #include <linux/version.h> 
    #include <linux/fs.h> 
    #include <linux/init.h> 
    
    MODULE_AUTHOR("Nobody"); 
    MODULE_LICENSE("GPL"); 
    MODULE_DESCRIPTION("Hallo Welt"); 
    MODULE_SUPPORTED_DEVICE("none"); 
    
    static int __init ModInit(void) 
    { 
    printk("Funktion 'init_module' wurde aufgerufen!"); 
    return 0; 
    } 
    
    static void __exit ModExit(void) 
    { 
    printk("Funktion 'cleanup_module' wurde aufgerufen!"); 
    } 
    
    module_init( ModInit ); 
    module_exit( ModExit );
    
    ich versuchte dies dann folgendermassen zu compilen:

    #gcc -O -DMODULE -D__KERNEL__ -Wall -I/usr/src/linux/include -c mod.c

    in der console ist dann dies hier zu lesen: http://nopaste.de/p/aED2KMyEE (es ist ziemlich viel und darum hab ich es bei nopaste hochgeladen)

    bitte helft mir, da ich nicht weiss, woran das liegt und mich das ganze echt aufhaelt.

    vielen dank
    lg me
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 magenspueler, 24.06.2007
    Zuletzt bearbeitet: 24.06.2007
    magenspueler

    magenspueler Grünschnabel

    Dabei seit:
    23.06.2007
    Beiträge:
    2
    Zustimmungen:
    0
    ok, ich habe das problem geloesst. zur info:
    erfolgreicher code:
    Code:
    #include <linux/module.h> 
    #include <linux/version.h> 
    #include <linux/fs.h> 
    #include <linux/init.h> 
    
    MODULE_AUTHOR("Nobody"); 
    MODULE_LICENSE("GPL"); 
    MODULE_DESCRIPTION("Hallo Welt"); 
    MODULE_SUPPORTED_DEVICE("none"); 
    
    init_module(void) 
    { 
    printk(KERN_INFO "INIT MOD\n"); 
    return 0; 
    } 
    
    void cleanup_module(void)
    {
    printk(KERN_INFO "EXIT MOD\n");
    }


    man benoetigt ein Makefile im gleichen ordner:

    obj-m += mod.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

    und dann nur den befehl ausfuehren:

    # make -C /usr/src/linux/ M=/home/magenspueler/coding/kernelhacking/helloworld/

    jetzt muss das module nur noch mittels #insmod mod.ko geladen werden und mit rmmod mod entladen werden. der output laesst sich super beobachten, wenn man noch eine andere console offen hat und dort tail -f /pfad/zum/kernel.log laufen hat. es funktioniert *freude* :-)
    warum findet mal eigendlich nie eine solche erklährung? ....hm
    am besten ein paar von euch probieren das mal aus und posten ihre erfahrungen. vielleicht ist das ja was für die faqs. ihr glaubt nicht wie schwer es ist dafür ein richtiges howto für kernel 2.6 zu finden, dass auch funktioniert.
    lg me
     
  4. dietox

    dietox Eroberer

    Dabei seit:
    26.05.2007
    Beiträge:
    74
    Zustimmungen:
    0
    Bitte benutz beim nächsten mal den
    Code:
    -Tag und meide Doppelposts - Benutze stattdessen den EDIT-Button.
    
    Vielen Dank :)
     
Thema:

probleme beim kompilieren des kernel moduls

Die Seite wird geladen...

probleme beim kompilieren des kernel moduls - Ähnliche Themen

  1. Probleme beim installieren

    Probleme beim installieren: Moin! Ich habe mir vor ein paar Wochen einen Hyrican Intel® i5, 8192MB DDR3-RAM, 1TB Speicher + 120GB SSD,GF GTX750Ti »Military 4610 PC gekauft....
  2. Probleme beim Ubuntu-Update

    Probleme beim Ubuntu-Update: Bei der Aktualisierung von Ubuntu 13.04 auf die neueste Ubuntu-Version 13.10 kann es unter bestimmten Konstellationen zu Problemen kommen....
  3. Probleme beim lesen einer CD

    Probleme beim lesen einer CD: Hallo zusammen, ich habe eine Daten-CD mit xfburn unter Fedora 15 erstellt. Diese muss ich bei uns in der Uni-Bibliothek abgeben. Auf der CD...
  4. Probleme beim mounten eines Serververzeichnisses auf einen Client

    Probleme beim mounten eines Serververzeichnisses auf einen Client: Hallo zusammen, ich habe folgendes Problem: Wir haben einen NIS-Server mit einem User root und PW xyz. Auf diesem wurde ein Verzeichnis...
  5. probleme beim installieren von rpm unixODBC (libODBC) und anderen packages

    probleme beim installieren von rpm unixODBC (libODBC) und anderen packages: Hallo! Ich kenne mich nicht wirklich gut aus mit dem rpm. Nichts desto trotz hat man mir die Bürde auferlegt mich mit nem RedHat Server (RHEL...