我的操作系统Ubuntu 12.04.我写了这个内核模块,我使用insmod和rmmod命令,但/ var / log消息中没有任何内容.我该如何解决这个问题?
/* * 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"); }
解决方法
检查syslog守护进程是否正在运行,因为如果我是正确的,这是将来自内核环/日志消息缓冲区的printk消息复制到/ var / log / messages的进程.使用dmesg实用程序/命令可以看到printk消息,或者消息将在/ var / log / messages中.如果设置了正确的loglevel,则printk消息将立即显示在控制台上,无需使用dmesg或无需检入/ var / log / messages. printk调试消息也可以是/ var / log / syslog的一部分.