RK3568驱动指南|第二篇 字符设备基础-第7章 menuconfig图形化配置实验(三)

本文介绍了内核配置文件.config的生成过程,通过makemenuconfig和mconf的关系,以及auto.conf和autoconf.h在内核编译中的角色,展示了如何通过图形化界面配置来影响内核构建。
摘要由CSDN通过智能技术生成

7.3 .config配置文件介绍

我们在图形化配置界面配置好了以后,会得到一个.config配置文件。在编译内核的时候会根据这个.config文件来编译内核。这样是不是就实现了通过图像化界面的配置来配置内核呀。用通俗的话来说,Kconfig就是饭店的菜单,.config就是客人点完的菜。然后厨师会根据客人点的菜,也就是.config来做菜,对应的操作就是编译内核。

那.config是如何产生的呢?对应上面的例子就是要有服务员给我们点菜呀。

当我们使用make menuconfig的时候,会通过mconf程序去解析Kconfig文件,然后生成对应的配置文件.config。所以这个mconf就是服务员。

mconf程序源码在内核源码scripts/kconfig目录下,如下图所示,这里不对Kconfig文件的解析流程进行分析,感兴趣的同学可以自行分析下mconf的源码。

有了.config配置文件以后,内核就可以根据这个配置文件来编译内核,比如控制某些驱动编译进内核,或者控制某些驱动不编译内核。那他是怎么实现的呢?

.config会通过syncconfig目标将.config作为输入然后输出需要文件,这里我们重点更关注auto.conf和autoconf.h。如下图(图7-19)所示:

在auto.conf文件中,存放的是配置信息。如下图(图7-20)所示:

在内核源码的顶层Makefile中会包含auto.conf文件,以此引用其中的变量来控制Makefile的动作,如哪些驱动编译,哪些驱动不编译。如:

auto.conf文件中

Makefile中包含auto.conf文件

内核源码下drivers/A/Makefile引用这个变量

注:obj-y就是编译进内核,obj-m就是编译成ko文件。

在autoconf.h中,是C语言代码。用来配合编译时的条件选择。如下图(图7-21)所示:

更多内容可以B站搜索北京迅为/CSDN搜索迅为RK3568开发板

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值