baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
阅读:1870回复:7

insmod hello.o结果显示内核不匹配,怎么办?

楼主#
更多 发布于:2004-08-03 19:30
#define MODULE
#include <linux/module.h>

int init_module(void) {printk("<1>Hello,worldn"); return 0;}
void cleanup_module(void) {printk("<1>Goodbye cruel worldn");}


insmod hello.o结果显示内核不匹配,怎么办?
我的内核为2.4.20-8
hello.o支持的内核为2.4.20
highwaylost
驱动小牛
驱动小牛
  • 注册日期2003-12-31
  • 最后登录2005-09-26
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-03 19:38
编译条件的问题:
gcc -c hello.c -I/usr/src/...
“恨怨悲苦憎怒噌 仁爱慈孝耻义廉 是故恨人所以得仁 无爱者必不怨 不慈者必无悲 孝而有苦 憎后耻来 义自怒生 廉人心噌 夹天地七大苦 破人情七大碍--”
baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-03 20:02
我在本论坛的请教linux设备驱动开发问题的贴子上找到了答案
我用的是gcc -I/usr/src/linux-2.4.20-8/include -c hello.c
已经解决了这个问题,又出现了新的问题
Warning: loading ./hello.o will taint the kernel: no license
  See http://www.tux.org/lkml/#export-tainted for information about tainted modules
Module hello loaded, with warnings

请问怎么解决?

[编辑 -  8/3/04 by  baaniaw]

[编辑 -  8/3/04 by  baaniaw]
baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-03 20:32
int init_module(void) {
    MODULE_LISENCE("GPL");
    printk("<1>Hello,worldn");
    return 0;
    }
加入MODULE_LISENCE("GPL");后no license的问题已经解决,但是用
insmod hello.o之后什么都没显示,应该显示Hello,worldn

这是为什么?
sdren
驱动牛犊
驱动牛犊
  • 注册日期2004-06-24
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-04 20:19
应该是日志优先级问题,试一下用printk("<0>Hello,worldn");
baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-05 14:02
这是我犯的一个小错误,我在xwindows下什么结果也看不到,
回到纯文本下就可以看到结果了。
dongleijun2002
驱动牛犊
驱动牛犊
  • 注册日期2003-12-02
  • 最后登录2009-03-29
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-13 13:08
其实不用那么麻烦的我用的是redhat8 kernel 2.4.18
gcc -c hello.c
insmod -f(重要) ./hello.o

即便在xwindow下也可以看到printk,不过要用dmesg命令,因为printk
把信息输出到log文件里了
dongleijun4000@hotmail.com
kittyc
驱动牛犊
驱动牛犊
  • 注册日期2001-09-13
  • 最后登录2004-09-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-20 15:56
用-f选项
游客

返回顶部