使用buildroot构建基础的系统后,由于项目需要,还有很多模块需要调试,记录下如何使用buildroot内部的kernel源代码。
1、进入buildroot目录,加载配置、编译,最终在output目录中生成我们需要的文件系统、内核、uboot、交叉工具链以及生产的各种格式的系统镜像;
多线程编译命令
# make BR2_JLEVEL=12
# make linux-menuconfig
# make busybox-menuconfig
# make uboot-menuconfig
2、进入需要单独编译的驱动目录,编写makefile
内核源代码目录在buildroot下的路径: output/build/linux-x-x-x
编译器路径:output/host/bin/arm-linux-
KERN_DIR = /home/yd/buildroot/output/build/linux-5.10.43 MODULE_NAME = spi all: make -C $(KERN_DIR) M=`pwd` modules @cp *.ko /nfs clean: make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.order obj-m := $(MODULE_NAME).o
3、编译
# make ARCH=arm CROSS_COMPILE=/home/yd/buildroot/output/host/bin/arm-linux-
注意:如果buildroot配置内核使用了补丁文件,则编译出来的ko文件,插入模块时会报错,暂时没做相关测试。