1. 简介
- 本文是基于RK平台,defconfig,Kconfig,Makefile配置总结。
- 在编译内核之前,我们可以对内核源代码进行配置。配置的目的主要是确定哪些模块会编译到内核当中。
- 每次添加移植驱动文件时都要修改Makefile、Kconfig、defconfig文件。只有配置了这些文件,内核才会去编译新添加的驱动程序,将驱动编译进内核中。
2. defconfig,Kconfig,Makefile配置总结
添加新驱动进kernel的步骤:(以cpufreq-dt.c驱动为例)
1.在驱动当前目录下的makefile文件中添加驱动.o(obj-$(CONFIG_CPUFREQ_DT) += cpufreq-dt.o)
(也可直接obj-y += cpufreq-dt.o)
2.在驱动当前目录下的Kconfig文件中添加驱动说明config CPUFREQ_DT。Kconfig对应make menuconfig中的选项
3.在kernel\arch\arm64\configs\rockchip_defconfig(查看板级mk文件中指定的defconfig)文件中添加 :CONFIG_CPUFREQ_DT=y (此时就相当于obj-y += cpufreq-dt.o)
4.查看kernel根目录下生成的.config文件是否将宏打开了(CONFIG_CPUFREQ_DT=y)。
3. 总结
defconfig其实就是Makefile中的一个变量(宏),控制着是否将驱动或者其他功能编译进内核。