|
一般内核驱动模块编译的makefile模型如下:
# If KERNELRELEASE is defined, we've been invoked from the
# kernel build system and can use its language.
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
# Otherwise we were called directly from the command
# line; invoke the kernel build system.
else
KERNELDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
我的操作系统用的是FC4,开发板是ARM.
如果直接在我的驱动源代码目录下用上面的makefile是可以生成目标文件,只不过到开发板上加载模块的时候提醒你出错:不支持的数据格式(我想这是因为编译环境的问题)
为了支持在arm上加载这个驱动程序,是不是只需要改动KERNELDIR? 我下载了一个linux内核.安装了交叉编译环境,并修改KERNELDIR指向这个内核源代码树.如下:
KERNELDIR := /kernel-2.6
可是编译通不过,说是找不到目标文件.
搞了一个周末还是搞不定,请各位看官帮帮忙,提供一下解决方案或者思路.这里先谢谢了. |
|