当前位置: 技术问答>linux和unix
内核模块的问题
来源: 互联网 发布时间:2015-03-17
本文导语: 我刚学内核模块,写了一个模块框架,但加载时系统却告诉我,我的默模块只能运行于2.4.20内核,而我的内核是2.4.20-8,所以无法加载,请问如何解决,不胜感谢. | -f强制插入,是可以的,如果没用,是...
我刚学内核模块,写了一个模块框架,但加载时系统却告诉我,我的默模块只能运行于2.4.20内核,而我的内核是2.4.20-8,所以无法加载,请问如何解决,不胜感谢.
|
-f强制插入,是可以的,如果没用,是你的模块有问题
你可以写个Makefile,如下所示,这样就不会出现版本不匹配的问题。
TARGET = test
KERNELDIR = /usr/src/linux
CFLAGS = -D__KERNEL__ -DMODULE -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -I
$(KERNELDIR)/include -O2 -Wall
all: ${TARGET}.o
clean:
rm -f ${TARGET}.o
其中KERNELDIR是你的内核目录
你可以写个Makefile,如下所示,这样就不会出现版本不匹配的问题。
TARGET = test
KERNELDIR = /usr/src/linux
CFLAGS = -D__KERNEL__ -DMODULE -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -I
$(KERNELDIR)/include -O2 -Wall
all: ${TARGET}.o
clean:
rm -f ${TARGET}.o
其中KERNELDIR是你的内核目录
|
insmod -f XXX
|
编译的时候-I的路径要同现在运行的内核版本一致。
不要用-f,有可能会司机的。
不要用-f,有可能会司机的。