本文主要是介绍Linux应用程序开发笔记:Linux .ko模块编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
hello.c 参考:https://blog.csdn.net/tugouxp/article/details/69053633
Makefile内容如下:
CROSS_COMPILE:=/home/liang/linux/OrangePiH5/toolchain/gcc-linaro-aarch/bin/aarch64-linux-gnu-
export ARCH=arm64
CC:=$(CROSS_COMPILE)gcc
LD:=$(CROSS_COMPILE)ldobj-m:=hello.o KERNEL_PATH:=/home/liang/linux/OrangePiH5/kernelPWD:=$(shell pwd)default:make -C $(KERNEL_PATH) M=$(PWD) modulesmodules_install:make -C $(KERNEL_PATH) M=$(PWD) modules_installclean:make -C $(KERNEL_PATH) SUBDIRS=$(PWD) clean
其中:
CROSS_COMPILE:指定交叉编译工具链路径
KERNEL_PATH:指定Linux内核路径
执行make:
make -C /home/liang/linux/OrangePiH5/kernel M=/home/liang/linux/OrangePiH5/ko_module modules
make[1]: Entering directory '/home/liang/linux/OrangePiH5/kernel'CC [M] /home/liang/linux/OrangePiH5/ko_module/hello.oBuilding modules, stage 2.MODPOST 1 modulesCC /home/liang/linux/OrangePiH5/ko_module/hello.mod.oLD [M] /home/liang/linux/OrangePiH5/ko_module/hello.ko
make[1]: Leaving directory '/home/liang/linux/OrangePiH5/kernel'
生成文件内容:
hello.c hello.ko hello.mod.c hello.mod.o hello.o Makefile modules.order Module.symvers
另外如果报错:
MODPOST 0 modules
可参考:http://blog.sina.com.cn/s/blog_658bb27f0100pfav.html
这篇关于Linux应用程序开发笔记:Linux .ko模块编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!