当前位置: 技术问答>linux和unix
入门问题, 第一例子呀, 照书上的步骤弄,结果怎么就是不对呢? 谢谢
来源: 互联网 发布时间:2016-03-12
本文导语: #define MODULE #include int init_module(void){ printk(" Hello,world n"); return 0; } ...
#define MODULE
#include
int init_module(void){
printk(" Hello,world n");
return 0;
}
void cleanup_module(void){
printk(" Goodbye cruel world n");
}
同时修改了: /usr/include/linux/version.h 里的 2.4.20 为 2.4.20-8
[root@localhost sin]# gcc -D_KERNEL_ -DMODULE -c hello.c -I/usr/src/linux-2.4/include
按这个方法编译了
但报下面的提示:
hello.c:1:1: warning: "MODULE" redefined
hello.c:1:1: warning: this is the location of the previous definition
再加载时出现下面的提示:
[root@localhost sin]# insmod ./hello.o
Warning: loading ./hello.o will taint the kernel: no license
See http://www.tux.org/lkml/#export-tainted for information about tainted modules
Module hello loaded, with warnings
每能看到书上描述的效果: 打印出: hello world
哪里出了问题呢???
#include
int init_module(void){
printk(" Hello,world n");
return 0;
}
void cleanup_module(void){
printk(" Goodbye cruel world n");
}
同时修改了: /usr/include/linux/version.h 里的 2.4.20 为 2.4.20-8
[root@localhost sin]# gcc -D_KERNEL_ -DMODULE -c hello.c -I/usr/src/linux-2.4/include
按这个方法编译了
但报下面的提示:
hello.c:1:1: warning: "MODULE" redefined
hello.c:1:1: warning: this is the location of the previous definition
再加载时出现下面的提示:
[root@localhost sin]# insmod ./hello.o
Warning: loading ./hello.o will taint the kernel: no license
See http://www.tux.org/lkml/#export-tainted for information about tainted modules
Module hello loaded, with warnings
每能看到书上描述的效果: 打印出: hello world
哪里出了问题呢???
|
dmesg能看到就说明加载成功了,没有在终端上显示出来是因为你用的终端的显示级别太高,而printk的级别不够
|
./hello.o will taint the kernel: no license 是因为你少了一个MODULE_LICENSE宏,你找找看.