+ -
当前位置:首页 → 问答吧 → 如何解决版本冲突问题?请高手作答

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

时间:2003-05-08

来源:互联网

升级到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.

如何解决这个版本不匹配问题呢?

作者: polehorse   发布时间: 2003-05-08

内核升级之后有没有重新编译模块呀?

作者: windrose   发布时间: 2003-05-08

问题是这样的:写了个最小模块,编译后安装时出现顶楼的错误,
所以重新编译内核,结果这段代码编译不过去了:

#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

作者: polehorse   发布时间: 2003-05-08

现在我有3个内核版本:
2.4.20-8
2.4.20-9
2.4.20-9custom
现在是在那个下面都编译不过去,怎么还跟start.S有关系了?编译内核影响这么大?如果不能解决我可没招了,只能重装系统,我对LINUX还很生!

作者: polehorse   发布时间: 2003-05-08