Linux内核配置原理及make menuconfig和.config文件分析

Linux驱动开发培训系列教程网址https://edu.csdn.net/course/detail/26814

一,内核配置的必要性

Linux内核源代码中集成了很多功能,具体的某个用户只会用到其中的部分功能。该用户从中挑选自己需要的功能,这就叫内核配置。

二,如何进行内核如何进行内核配置

通过make menuconfig指令进行内核配置。 对于每一个配置选项,选"y"、“m"或"n”。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;"n"表示内核不提供相应特性或驱动程序的支持。 以RTC配置为例进行讲解:Device Drivers->Real Time Clock

三,查看配置结果

.config文件保存配置结果。
选y的配置项,在.config文件中为: CONFIG_RTC_DRV_CMOS=y
选m的配置项,在.config文件中为:CONFIG_RTC_DRV_CMOS=m
选n的配置项,在.config文件中为:# CONFIG_RTC_DRV_CMOS is not set

四,make命令如何使用配置结果

/drivers/rtc/makefile
obj-$(CONFIG_RTC_DRV_CMOS) += rtc-cmos.o
相当于:
obj-y += rtc-cmos.o 编译进内核
obj-m += rtc-cmos.o 编译成模块
告诉make,在这目录里,有一个名为rtc-cmos.o的目标文件。rtc-cmos.o将从rtc-cmos.c 编译得到。
除了y、m以外的obj-x 形式的目标都不会被编译。

五,Linux源代码如何使用配置结果

相关的脚本程序根据.config文件,生成autoconf.h文件,供源程序使用。
#define CONFIG_RTC_DRV_CMOS 1
#define CONFIG_RTC_DRV_CMOS_MODULE 1

六,总结

make menuconfig 命令读取当前的.config文件,决定配置菜单的选项。
用户通过菜单配置相关功能。
保存退出后更新.config文件,供make内核使用。
Make根据.config文件,决定把那些功能编译进内核,哪些功能编译成模块。同时生产autoconf.h文件。

七 更详细的介绍,可以观看我录制的培训教程

教程网址https://edu.csdn.net/course/detail/26814

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaoyanli1972

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值