OnceMemory 发表于 2005-7-18 21:46:17

请教一个非常简单的模块程序加载的问题,请大家帮帮忙。

最近在学一些内核方面的东西,都很基础,书上有这么一个引导新手的例子:

文件: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.

请问我该怎么做??望各位指点,先谢过诸位。

xue_hu2001 发表于 2005-7-19 11:22:20

麻烦你在发贴前,看看以前的贴子!!!

OnceMemory 发表于 2005-7-19 22:44:54

我也曾经是一个比较大的论坛的版主,论坛的一般规矩我还是懂的

第一,这个版没有FAQ
第二,我搜索没有合适的相关主题
第三,你认为一个只发过一贴的人有那个耐力找角标30+页的帖子吗?而且他还不知道有没有答案。

很多事都是举手之劳,我知道,所以我先做了很多才发的帖子。很多事对你也是。
答案我找到了,还是谢谢你,你是唯一回我帖子的人。

wft999 发表于 2005-7-20 18:39:46

用insmod -f helloworld.o 试试,要么重新编译KERNEL

good02xaut 发表于 2005-8-11 14:43:46

你用的是rh9吧
/usr/include/linux/version.h

第一行,把2.4.20改成2.4.20-8就可以了

keenor 发表于 2005-8-26 00:11:54

gcc -c helloworld.c -I /usr/src/linux-xxxx/include

xue_hu2001 发表于 2005-8-30 14:08:02

:mrgreen: 恭喜你!
页: [1]
查看完整版本: 请教一个非常简单的模块程序加载的问题,请大家帮帮忙。