本文主要是介绍在Linux内核中单独编译KO文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在当前模块目录下创建Makefile: obj-m := mxt224.o
然后再该模块目录下打开终端输入:make -C /home/kernel_path/ M=$(pwd) modules
/home/kernel_path/ 是内核所在路径
或者用该makefile:
#set KERNELDIR and CROSS_COMPILE path yourself
#
ifneq ($(KERNELRELEASE),)
obj-m := mxt224.o
else
KERNELDIR := /home/stone/stone_share/Project/t11/t11-2.3/kernel
#KERNELDIR := /home/bee/bee_share/mini6410/linux-2.6.36-android/linux-2.6.36-android
#KERNELDIR := /opt/mini6440/linux/linux-2.6.36
PWD := $(shell pwd)
#CROSS_ARCH := ARCH=arm CROSS_COMPILE=/usr/local/arm/4.5.1/bin/arm-linux- #6410-linux-2.6.36
CROSS_ARCH := ARCH=arm CROSS_COMPILE=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
default:
$(MAKE) $(CROSS_ARCH) -C $(KERNELDIR) M=$(PWD) modules
install:
$(MAKE) $(CROSS_ARCH) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions *.symvers *.d *.markers *.order
.PHONY: modules modules_install clean main
endif
这篇关于在Linux内核中单独编译KO文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!