kbuild system学习
运行时
查看内核编译时的.config,需要开启内核选项:
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
查看:
zcat /proc/config.gz
内核编译参数
V=指定日志输出级别
O=指定输出目录
M=指定外部模块(比如内核模块)编译目录
ARCH=指定target架构类型
CROSS_COMPILE=执行相关工具时的进程名前缀
内核自带工具
Todo:linux/script下脚本探索
查看内核源码版本
$ make kernelversion
5.10.0
自动生成compile_commands.json
scripts/clang-tools/gen_compile_commands.py
.config比较
scripts/diffconfig .config.old .config
参考文章:
Kbuild系统源码分析(一)—./Makefile
一个Linux驱动工程师必知的内核编译机制
Kbuild机制详解(基于Linux5.10)