LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1209|回复: 3

如何解决版本冲突问题?请高手作答

[复制链接]
发表于 2003-5-7 20:12:46 | 显示全部楼层 |阅读模式
升级到kernel2.4.20-8 --> kernel2.43.20-9-> kernel2.43.20-9custom,现在编写了一个
模块,使用insmod加载。

1. 在kernel2.43.20-9custom下加载,错误如下:
kernel-module version mismatch
        drv.o was compiled for kernel version 2.4.20-9
        while this kernel is version 2.4.20-9custom.

2. 在kernel2.43.20-9下加载,错误如下:
kernel-module version mismatch
        drv.o was compiled for kernel version 2.4.20
        while this kernel is version 2.4.20-9.

如何解决这个版本不匹配问题呢?
发表于 2003-5-7 21:59:01 | 显示全部楼层
内核升级之后有没有重新编译模块呀?
 楼主| 发表于 2003-5-7 23:04:39 | 显示全部楼层
问题是这样的:写了个最小模块,编译后安装时出现顶楼的错误,
所以重新编译内核,结果这段代码编译不过去了:

#define MODULE

#include <linux/module.h>

int init_module(void)
{
pinntk("<1> Hello, world\n");
return 0;
}

void cleanup_module(void)
{
printk("<1>goodbye cruel world\n");
return;
}

看错误:
[root@linuxer drv]# gcc -o drv drv.c
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0x18): In function `_start':
../sysdeps/i386/elf/start.S:77: undefined reference to `main'
/tmp/ccWjIWsR.o(.text+0xf): In function `init_module':
: undefined reference to `pinntk'
/tmp/ccWjIWsR.o(.text+0x2c): In function `cleanup_module':
: undefined reference to `printk'
collect2: ld returned 1 exit status
 楼主| 发表于 2003-5-7 23:10:18 | 显示全部楼层
现在我有3个内核版本:
2.4.20-8
2.4.20-9
2.4.20-9custom
现在是在那个下面都编译不过去,怎么还跟start.S有关系了?编译内核影响这么大?如果不能解决我可没招了,只能重装系统,我对LINUX还很生!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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