QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1097|回复: 6

关于加载内核模块

[复制链接]
发表于 2005-6-18 21:59:29 | 显示全部楼层 |阅读模式
最近在学习linux驱动程序设计,首先是编写和运行模块,写了个例子hello.c
#define MODULE

#include <linux/module.h>

int init_module(void)
{
  pintk("<1>hello world\n");
  return 0;
}

void cleanup_module(void)
{
  printk("<1>goodbye\n");
}
接着
#gcc -c hello.c
#insmod hello.o
然后就出现警告:
hello.o: kernel-module version mismatch
        hello.o was compiled for kernel version 2.4.20
        while this kernel is version 2.4.20-8.

请问这是为什么?该如何解决,有经验的兄弟请帮忙看一下,万分感谢!!!
发表于 2005-6-18 22:36:27 | 显示全部楼层
呵呵。楼上的问题和我的一样。你用的rh9吧?呵呵。
我也没解决。版本不匹配阿。我觉得应该让编译器和内核的版本统一才行。
看电力出版社的linux 驱动编程呢吧?
回复

使用道具 举报

发表于 2005-6-18 23:55:02 | 显示全部楼层
看看已有的module不就清楚了
回复

使用道具 举报

发表于 2005-6-19 01:38:38 | 显示全部楼层
跟编译器无关。。检查一下 gcc 的包含路径,让它指向当前 kernel 的源码
对 2.4 内核不熟悉。。。2.6 内核的 kbuild 系统方便得多
回复

使用道具 举报

 楼主| 发表于 2005-6-19 10:05:59 | 显示全部楼层
怎样查看gcc的包含路径呢?总的说来应该怎样操作吧,谢谢了
回复

使用道具 举报

发表于 2005-6-19 11:58:42 | 显示全部楼层
应该有办法从 spec 之类的地方查看,不过我也不清楚……
用-I 指定的路径是先行搜索的,强制指定吧。
回复

使用道具 举报

 楼主| 发表于 2005-6-19 15:19:16 | 显示全部楼层
不知道升级内核是否能解决?
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-5 19:34 , Processed in 0.039470 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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