主题 : 内核模块的makefile中的内核路径怎么写 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 64577
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2012-03-07
最后登录: 2013-06-23
楼主  发表于: 2013-06-07 04:23

 内核模块的makefile中的内核路径怎么写



小弟初学者,现在学习linux内核模块,这是一个简单的hello的内核模块的makefile。请问这个KERNELDIR路径要怎么写?是写宿主机上的内核路径还是写开发板上的内核路径?哪个是内核路径?我用的的是nfs根文件系统,在这个根文件系统下有一个 /lib/modules/2.6.32.2目录,但是这个目录是空的。
还有一个问题,下面后面那个hello.o是事先要先用arm-linux-gcc 编译成 .o 文件吗? 我用arm-linux-gcc hello.c -c hello.o总报错,说找不到hello.o文件。谢谢大家了。
ifeq ($(KERNELRELEASE),)
KERNELDIR ?=/lib/modules/2.6.32.2
PWD := $(shell pwd)
modules:
         $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
           rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
else
     obj-m := hello.o
endif
级别: 新手上路
UID: 92823
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2013-06-07
最后登录: 2013-12-08
1楼  发表于: 2013-06-07 23:27

 回 楼主(凭栏) 的帖子

KERNELDIR应该是你编译的对应kernel的路径