Kernel Modul will nicht ganz



  • Hallo Leute,

    Ich hab ein kernel modul geschrieben, und es läst sich auch erstellen und ohne Probleme laden.
    Aber es tut nicht das was es soll. Es ist nur ein simples Einsteigerprogramm/modul.

    #include <linux/kernel.h>
    #include <linux/init.h>
    #include <linux/module.h>
    
    MODULE_DESCRIPTION("My kernel module");
    MODULE_AUTHOR("ich");
    MODULE_LICENSE("GPL");
    
    static int kt_init_module(void)
    {
    	printk( KERN_DEBUG "Module kt init\n" );
    	return 0;
    }
    
    static void kt_exit_module(void)
    {
    	printk( KERN_DEBUG "Module kt exit\n" );
    }
    
    module_init(kt_init_module);
    module_exit(kt_exit_module);
    

    Und zwar folgendes Problem tritt auf der Befehl
    printk(KERN_DEBUG "Module kt init\n");
    gibt leider nichts aus.

    Hab auch schon

    printk("<1> Module kt init\n");

    ausprobiert leider geleicher Effekt.

    Ich benutze als System Suse 9.3 Professional mit Kernel 2.6.11
    Kann es sein das ich irgendetwas noch einstellen muss bevor die Debug Nachrichten angezeigt werden?
    Bin neu in der Kernel Entwicklung deswegen warscheinlich auch das Problem, vielleicht ist es auch ganz simpel nur ich komm nicht drauf hab schon so viel probiert, wäre froh wenn mir jemand helfen könnte!



  • Was erwartest du denn, dass passiert?



  • Du weisst, dass die Ausgabe in /var/log/message geschrieben wird.



  • Der Befehl
    printk("<1> Module kt init\n");
    sollte normalerweise auf der Komandozeile folgendes ausgeben

    Module kt init

    Ich hab jedoch schon die Lösung des Problems gefunden und zwar ist bei einigen Distributionen die direkte Ausgabe auf die Komandozeile von Kernelnachrichten deaktiviert.

    Nachrichten erscheinen dann nur in der Log Datei.



  • wenn du dein modul auf einem virtuellen terminal lädst wirst du da auch die meldungen sehen, nur in 'nem xterm landen die nicht.

    Ansonsten siehst du die auch mit dmesg.


Log in to reply