ich kleine Kernelmodul-Code geschrieben, wie unten erwähnt, ich mich entschieden jetzt in ubuntu 14.04
Warum printk Nachricht nicht im Kernel-Log kann nicht gedruckt werden (dmesg)
#include <linux/module.h>
#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/init.h>
int init_mod_func(void)
{
printk(KERN_INFO "My module inserted\n ");
return 0;
}
void cleanup_mod_func(void)
{
printk(KERN_INFO "My module removed\n ");
}
module_init(init_mod_func);
module_exit(cleanup_mod_func);
MODULE_AUTHOR("Ankur");
MODULE_DESCRIPTION("TEST MODULE");
MODULE_LICENSE("GPL");
, wenn ich oben Modul kompilieren und legen insmod
mit Ich sehe keine printk-Nachricht im dmesg. Nach dem Entfernen des Moduls mit rmmod
sehe ich jedoch beide printk-Nachrichten.
Mit Verschluss aussehen, fand ich heraus, dass es wegen space
nach \n
in der printk geschieht.
Allerdings verstehe ich nicht, warum es so ist.
ankur:~/temp/tmp$
ankur:~/temp/tmp$
ankur:~/temp/tmp$ sudo dmesg -C /dev/null
ankur:~/temp/tmp$
ankur:~/temp/tmp$
ankur:~/temp/tmp$ sudo insmod testmod.ko
ankur:~/temp/tmp$ dmesg
ankur:~/temp/tmp$
ankur:~/temp/tmp$ sudo rmmod testmod
ankur:~/temp/tmp$ dmesg
[ 4062.140441] My module inserted
[ 4062.140441]
[ 4073.324994] My module removed
[ 4073.324994]
warum downvoted? :( – AnkurTank