|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
学习linux,就意味着更快的开发效率,等更多关于软件本身或者说操作系统本身的理解。
1.编译毛病(实在这个成绩和Makefile有很年夜干系)
2.Invalidmoduleformat毛病
3.insmod:errorinserting./hello.ko:-1Fileexists
开辟情况
内核版本:2.6.22(我下载的最新版本)
gcc:gcc(GCC)4.1.2
Makefile
gcc-D__KERNEL__-DMODULE-DLINUX-I/usr/local/src/linux2.4/include-c-ohello.ohello.c
下面这类写法合适2.4版本的内核,在2.6下用这类写法极可能招致很多编译毛病,即便编译经由过程也会发生Invalidmoduleformat毛病。
2.6下准确的Makefie以下:
#Makefile2.6
ifneq($(KERNELRELEASE),)
#kbuildsyntax.dependencyrelationshsipoffilesandtargetmodulesarelistedhere.
mymodule-objs:=hello.o
obj-m:=hello.o
else
PWD:=$(shellpwd)
KVER?=$(shelluname-r)
KDIR:=/lib/modules/$(KVER)/build
all:
$(MAKE)-C$(KDIR)M=$(PWD)
clean:
rm-rf.*.cmd*.o*.mod.c*.ko.tmp_versions
endif
利用下面的Makefie同时也办理了Invalidmoduleformat毛病
insmod:errorinserting./hello.ko:-1Fileexists毛病办理
第一次insmod./hello.ko没有输入暗示你的模块被一般载进了,厥后的毛病是你反复载进这个模块招致的
用命令lsmod|grephello看看是否是有这个模块?
用命令tail/var/log/messages
有hello,world
module程序一般实行
</p>
Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。 |
|