红联Linux门户
Linux帮助

Linux2.6内核模块编译

发布时间:2008-10-14 10:07:25来源:红联作者:MONND
看着Linux 设备驱动(第三版)的helloworld,死活编译不过,把头文件全部替换后编译过了

然后又出现下面的错误

insmod: error inserting 'hello.o': -1 Invalid module format

最后参考下面的文章,终于把这个东西给编译好了,学习了些makefile

原地址:http://www.ibm.com/developerworks/cn/linux/l-module26/

Makefile的语法很奇怪

引用:
# Makefile2.6
ifneq ($(KERNELRELEASE),)
#kbuild syntax. dependency relationshsip of files and target modules are listed here.
mymodule-objs := file1.o file2.o
obj-m := mymodule.o
else
PWD := $(shell pwd)
KVER ?= $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
all:
$(MAKE) -C $(KDIR) M=$(PWD)
clean:
rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions
endif
文章评论

共有 2 条评论

  1. luoxiangyun 于 2009-01-21 14:14:32发表:

    Makefile没写错,可是不编译还是通不过

  2. chris078426 于 2008-10-14 13:05:10发表:

    是大部分的工作由系统完成了,(hl):hao