阅读:1768回复:10
调试linux device drivers 中hello world 的kernel version mismatch的问题
我正在学LINUX 驱动,把LINUX DEVICE DRIVERS中第二章HELLO WORLD 敲进去编译后,在加载模块时报错:
#gcc -c hello.c #insmod hello.o hello.o:kernel-module version mismatch,hello.o was compiled for kernel 2.4.20 while this kernel is version 2.4.20-8 系统提示kernel版本不匹配,我是用的RED HAT 9.0, 请问这个问题怎么解决啊,刚学LINUX 问题很菜,麻烦指点! |
|
沙发#
发布于:2004-09-09 11:06
gcc -DMODLUE -D__KERNEL -c hello.c
|
|
板凳#
发布于:2004-09-09 16:54
谢谢回复,我按你的方法试了,还是报同样的错,我是在系统工具-》终端 中执行的,你是这样做的吗?
|
|
地板#
发布于:2004-09-09 21:18
gcc test.c -c -I /usr/src/linux-2.4.20-8/include
|
|
地下室#
发布于:2004-09-13 14:10
4楼的方法也试过了,系统提示内核TRAINT,无法正常加载模块,这个问题我想学习LDD的都应该调试过吧,怎么大家都调试通过了吗?
还是这里人气太差啊 :( |
|
5楼#
发布于:2004-09-13 21:03
你看一下这篇帖子“insmod hello.o结果显示内核不匹配,怎么办? ”
|
|
6楼#
发布于:2004-09-14 09:34
你看一下这篇帖子“insmod hello.o结果显示内核不匹配,怎么办? ” 看来你也遇到过和我一样的问题,还想问一下你是怎么进入纯文本的,我在XWINDOWS里找了好半天也没找到,才学LINUX菜鸟一只啊 :P |
|
7楼#
发布于:2004-09-14 12:43
只要你使用你当前内核的头文件编译的,应该不会有这个问题啊。
|
|
|
8楼#
发布于:2004-09-14 21:20
用Ctl+Alt+F2到虚拟控制台,用Ctl+Alt+F7回到X Windows
[quote]你看一下这篇帖子“insmod hello.o结果显示内核不匹配,怎么办? ” 看来你也遇到过和我一样的问题,还想问一下你是怎么进入纯文本的,我在XWINDOWS里找了好半天也没找到,才学LINUX菜鸟一只啊 :P [/quote] |
|
9楼#
发布于:2004-09-15 08:36
只要你使用你当前内核的头文件编译的,应该不会有这个问题啊。 如何使用当前内核的头文件编译,是GCC加参数还是在源码中添加啊 |
|
10楼#
发布于:2004-09-15 13:08
都可以把,gcc加参数的话,总是敲那么多参数很烦的,而且程序高大了也不方便。但是对付你的hello模块式可以解决问题的
|
|
|