tony_jiangsz
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2003-10-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1122回复:5

请教关于LINUX

楼主#
更多 发布于:2003-10-09 10:41
写了一个模块,用insmod去加载该模块,系统提示:模块被编译的内核版本是2.4-20,而内核版本是2.4.20-8,所以不能加载。

我就把usr/src/linux-2.4.20-8/include/linux覆盖了以前linux目录,再编译,再用insmod去加载该模块,系统提示无license

请教各位大虾如何解决,我系统装得是REDHAT9。0
gokimi
驱动牛犊
驱动牛犊
  • 注册日期2002-11-13
  • 最后登录2003-10-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-10 10:19
是不是忘记在module里输入
MODULE_LICENSE(\"GPL\")了 ?
tony_jiangsz
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2003-10-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-11 15:17
gokimi:
thank you!
加上MODULE_LICENSE(\"GPL\"),问题解决了,但不知我用2.4.20-8的include去覆盖2.4.20这种做法是否会对编译其它程序有影响?
另外,听说,用GCC编译时,可以指定内核版本。不知gokimi知不知道如何用。 :)
shownxu
驱动小牛
驱动小牛
  • 注册日期2002-02-05
  • 最后登录2008-04-25
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-14 11:14
只要在insmod后加-f参数就行了吧
tony_jiangsz
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2003-10-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-21 08:18
thank you!
twofish
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2008-11-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-22 09:33
上述方法可行但是不好。你在Makefile这么写就可以了
KERNELDIR = /usr/src/linux    /*linux内核原代码目录*/
include $(KERNELDIR)/.config
CFLAGS = -D__KERNEL__ -DMODULE -I$(KERNELDIR)/include \\
        -O -Wall
游客

返回顶部