不修改Linux内核文件,直接用makefile编译驱动,是否要先把内核编译一遍?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不修改Linux内核文件,直接用makefile编译驱动,是否要先把内核编译一遍?相关的知识,希望对你有一定的参考价值。
不修改内核文件编译驱动模块:
建立一个名字为led的文件夹。把LED驱动源码micro2440_leds.c复制到该目录。在该目录下创建Makefile文件如下:
点击(此处)折叠或打开
obj-m := micro2440_leds.o
KERNEL_DIR ?= /home/samba/linux-2.6.32.2-micro2440
all:
$(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules
clean:
rm -f *.o *.ko *.mod.* *.order *.symvers
保存后,直接执行make,即可在当前目录下生成我们需要的驱动模块文件micro2440_leds.ko。
micro2440_leds.ko复制过去,然后insmod进去。 参考技术B 对于各大发行版来说,不需要重新编译kernel,只需要安装内核头文件即可。 参考技术C 安装内核头文件 编译成模块。
如何在linux下写makefile
最近一直在研究这个首先可以手写makefile,需要你对makefile和需求有一定的了解,这种方法不推荐不详述
其次使用autotools工具,只需要把所需要最后编译生成的名字版本号还有源文件编写好,用autotools工具实现编译即可,具体使用方法网上有,不详述
然后可以使用qmake,具体使用如上
最后说一个yocto,这东西可以实现单独编译,不需要自己写makefile了,直接就帮你编好了 参考技术A Linux系统下makefile的作用把编写好的源文件进行编译与链接,makefile的基本格式如下: target… :prerequisite…(Tab键)command#格式解释target:生成的目标文件,可以是可执行文件,也可以是中间目标文件prerequisite:生成target所需要的文件com...
以上是关于不修改Linux内核文件,直接用makefile编译驱动,是否要先把内核编译一遍?的主要内容,如果未能解决你的问题,请参考以下文章
浅谈内核的MakefileKconfig和.config文件
浅谈内核的MakefileKconfig和.config文件