QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1831|回复: 6

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

[复制链接]
发表于 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.

请问我该怎么做??望各位指点,先谢过诸位。
发表于 2005-7-19 11:22:20 | 显示全部楼层
麻烦你在发贴前,看看以前的贴子!!!
回复

使用道具 举报

 楼主| 发表于 2005-7-19 22:44:54 | 显示全部楼层
我也曾经是一个比较大的论坛的版主,论坛的一般规矩我还是懂的

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

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

使用道具 举报

发表于 2005-7-20 18:39:46 | 显示全部楼层
用insmod -f helloworld.o 试试,要么重新编译KERNEL
回复

使用道具 举报

发表于 2005-8-11 14:43:46 | 显示全部楼层
你用的是rh9吧
/usr/include/linux/version.h

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

使用道具 举报

发表于 2005-8-26 00:11:54 | 显示全部楼层
gcc -c helloworld.c -I /usr/src/linux-xxxx/include
回复

使用道具 举报

发表于 2005-8-30 14:08:02 | 显示全部楼层
恭喜你!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 12:40 , Processed in 0.040930 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表