insmod/rmmod hello.ko没有打印信息

使用CentOS 6.9版本,内核为自己从kernel.org上下载的2.6.32版本的源码,编译后安装的。

编译hello.c也是用的这个2.6.32的源码。

insmod hello.ko
rmmod hello

都没有任何打印。


于是怀疑到可能是因为CentOS使用的是正式版本,所以打印级别不够高的话,显示不出来。

查了一下代码:

#define KERN_EMERG      "<0>"   /* system is unusable                   */
#define KERN_ALERT      "<1>"   /* action must be taken immediately     */
#define KERN_CRIT       "<2>"   /* critical conditions                  */
#define KERN_ERR        "<3>"   /* error conditions                     */
#define KERN_WARNING    "<4>"   /* warning conditions                   */
#define KERN_NOTICE     "<5>"   /* normal but significant condition     */
#define KERN_INFO       "<6>"   /* informational                        */
#define KERN_DEBUG      "<7>"   /* debug-level messages                 */
将KERN_ALERT改成KERN_EMERG,再试了一下,就可以打印出来了。
[root@vbox ldd]# insmod hello.ko
[root@vbox ldd]# 
Message from syslogd@vbox at Feb 20 19:59:15 ...
 kernel:Hello world

[root@vbox ldd]# rmmod hello
[root@vbox ldd]# 
Message from syslogd@vbox at Feb 20 19:59:25 ...
 kernel:Goodbye world

[root@vbox ldd]# 

你可能感兴趣的:(insmod/rmmod hello.ko没有打印信息)