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)ld
obj-m:=hello.o
KERNEL_PATH:=/home/liang/linux/OrangePiH5/kernel
PWD:=$(shell pwd)
default:
make -C $(KERNEL_PATH) M=$(PWD) modules
modules_install:
make -C $(KERNEL_PATH) M=$(PWD) modules_install
clean:
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.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/liang/linux/OrangePiH5/ko_module/hello.mod.o
LD [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