请教一个非常简单的模块程序加载的问题,请大家帮帮忙。
最近在学一些内核方面的东西,都很基础,书上有这么一个引导新手的例子:文件:helloworld.c
#define MODULE
#include <linux/module.h>
int init_module(void)
{
printk("<1> Hello World!\n");
return 0;
}
void cleanup_module(void)
{
printk("<1>Goodbye!\n")
}
我按照书上说的用了下面两条命令。
先编译:#gcc -c helloworld.c
这个通过了。
然后 :#insmod helloworld.o
这时候出现下面问题:
Warining:kernel-module version mismatch.
helloworld.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8.
请问我该怎么做??望各位指点,先谢过诸位。 麻烦你在发贴前,看看以前的贴子!!! 我也曾经是一个比较大的论坛的版主,论坛的一般规矩我还是懂的
第一,这个版没有FAQ
第二,我搜索没有合适的相关主题
第三,你认为一个只发过一贴的人有那个耐力找角标30+页的帖子吗?而且他还不知道有没有答案。
很多事都是举手之劳,我知道,所以我先做了很多才发的帖子。很多事对你也是。
答案我找到了,还是谢谢你,你是唯一回我帖子的人。 用insmod -f helloworld.o 试试,要么重新编译KERNEL 你用的是rh9吧
/usr/include/linux/version.h
第一行,把2.4.20改成2.4.20-8就可以了 gcc -c helloworld.c -I /usr/src/linux-xxxx/include :mrgreen: 恭喜你!
页:
[1]