ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-01-19 10:02:12  阅读:168  来源: 互联网

标签:文件 RTC rtc make 配置 内核 Linux config


一,内核配置的必要性
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文件。
————————————————
版权声明:本文为CSDN博主「gaoyanli1972」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gaoyanli1972/article/details/103304544

标签:文件,RTC,rtc,make,配置,内核,Linux,config
来源: https://blog.csdn.net/kuno_y/article/details/122574442

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有