阅读:1238回复:5
版本不匹配问题的解决!!!10分相送!
我用gcc -c hello.c生成hello.o。然后使用insmod hello.o链接到内核时,出现如下信息:hello.o是为内核版本2.4.0-0.26所编译,当前内核版本为2.2.16-22。
使用-f开关可以将其强制链接到内核,但是以上信息还是有。请问各位驱友,如何解决这个版本不匹配的问题。在此先谢过了!!! |
|
|
沙发#
发布于:2003-06-10 10:58
这个不需要什么注册。源码都有的!你应该在module代码里加入下面的语句:
MODULE_LICENSE(\"GPL\"); 更详细的内容,在google中查module_license |
|
板凳#
发布于:2003-06-10 10:44
好啊,大家真的很同步了,在GCC里使用的是-I/usr/src/linux-2.4.20-8/include
也是成功了,只是在insmod 的时候却说警告: warning:loading /hello.o will taint the kernel:no license. 然后给了我一个网页,难道我的版本需要网上注册吗?我的是9。0的,买的正版。 还有就是用图形界面里的终端可以使用insmod. 可是回到控制台却说:insmode command can\'t find. 这个是怎么回事啊,是不是重新安装系统除了问题! |
|
地板#
发布于:2003-06-09 23:52
Think you sdssly!!
我试过了,是这样的。 |
|
|
地下室#
发布于:2003-06-09 21:16
看来我们遇到的问题是一样的了,虽然强制加载了,可是却有警告,后面在调用file_operation结构的时候,也是会出很多问题,说这个结构不正确! 刚刚解决了这个问题。是因为Linux /usr/src/linux2.4/include 中 version.h 和 /include 下version.h版本不一样。 在GCC中使用 这个参数: -I/usr/src/linux2.4/include 给分吧:) |
|
5楼#
发布于:2003-06-09 19:00
看来我们遇到的问题是一样的了,虽然强制加载了,可是却有警告,后面在调用file_operation结构的时候,也是会出很多问题,说这个结构不正确!
希望高手指导一下啊! |
|