linux defconfig、 .config 、kconfig 与makefile
当驱动文件编写完成之后,需要将其编译进内核uimage或者编译模块(.ko),此时需要修改kconfig 和makefile文件。下面以博通平台为例,阐述下kconfig等文件的用途等,本人水平有限,如有错误之处,请不赐指正。
介绍Kconfig makefile 等文件的文章很多,可以参考:点击打开链接,这里只简单说明。
1.deconfig 文件:
一般由平台厂商提供,内核编译用做.config的参考,注意:如果,缺少该文件,无法进行编译。
文件位于:\kernel\..\arch\arm\configs\xxx_defconfig
2.kconfig
分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。
3.makefile
分布在各个目录下,用于集成编译。
4.config 文件
在内核编译时,主Makefile调用这个.config,用于或者用于的内核编译配置。当我们在内核源码目录下输入make menuconfig时,在出现的菜单界面中选择一项时,它会自动更新.config相应项的值。如果我们没有选择,则会在.config问下插入一行注释(# CONFIG_TOUCHSCREEN_GT9xx is not set)