博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux内核源码中Kconfig文件介绍
阅读量:6227 次
发布时间:2019-06-21

本文共 1650 字,大约阅读时间需要 5 分钟。

hot3.png

内核配置脚本文件的语法也比较简单, 主要包括如下几个方面

(1)、配置选项

大多数内核配置选项都对应Kconfig中的一个配置选项(config):

config MODVERSIONS       bool "Module versioning support"       help           Usually, you have to use modules compiled with your kernel.           Saying Y here makes it ...

“config”关键字定义新的配置选项,之后的几行代码定义了该配置选项的属性。配置选项的属性包括

类型、数据范围、输入提示、依赖关系、选择关系及帮助信息、默认值等。

每个配置选项都必须指定类型,类型包括bool、tristate、string、hex和int,其中tristate和string是两种基本类型, 其他类型都基于这两种基本类型。类型定义后可以紧跟输入提示,下面两段脚本是等价的:

bool “Networking support”

boolprompt "Networking support"

输入提示的一般格式为:

prompt 
[if
]

其中, 可选的if用来表示该提示的依赖关系。

默认值的格式为:

default <expr> [if <expr>]
如果用户不设置对应的选项, 配置选项的值就是默认值。
依赖关系的格式为:

depends on( 或者requires) 

如果定义了多重依赖关系, 它们之间用“&&”间隔。 依赖关系也可以应用到该菜单中所有的其他选项

( 同样接受if表达式) 内, 下面两段脚本是等价的:

bool "foo" if BARdefault y if BAR

depends on BARbool "foo"default y

选择关系( 也称为反向依赖关系) 的格式为:

select 
[if
]

A如果选择了B, 则在A被选中的情况下, B自动被选中。

数据范围的格式为:

range 
[if
]

帮助信息的格式为:

help( 或---help---)
开始

........

结束

帮助信息完是靠文本缩进识别结束。“---help---”和“help”在作用上没有区别, 设计“---help---”的初衷在于将文件中的配置逻辑与给开发人员的提示分开。
(2)、菜单结构

配置选项在菜单树结构中的位置可由两种方法决定。 第一种方式为:

menu "Network device support"     depends on NETconfig NETDEVICES…endmenu

所有处于“menu”和“endmenu”之间的配置选项都会成为“Network device support”的子菜单, 而且, 所有子菜单( config) 选项都会继承父菜单( menu) 的依赖关系, 比如, “Network device support”对“NET”的依赖会被加到配置选项NETDEVICES的依赖列表中。

注意: menu后面跟的“Network device support”项仅仅是1个菜单, 没有对应真实的配置选项, 也不具备3种不同的状态。 这是它和config的区别。

用Kconfig配置脚本和Makefile脚本编写的更详细信息, 可以分别参见内核文档Documentation目录内的

kbuild子目录下的Kconfig-language.txt和Makefiles.txt文件。

转载于:https://my.oschina.net/cht2000/blog/983658

你可能感兴趣的文章
angular-seed — AngularJS种子项目
查看>>
开发人员准确理解技术需求:用户想得与说的不一样
查看>>
OpenCV 颜色空间转换参数CV_BGR2GRAY改变
查看>>
Allegro PCB Design GXL (legacy) 从dxf文件中导入板框
查看>>
手撸系列之——ORM(对象关系映射)
查看>>
iOS - OC RunLoop 运行循环/消息循环
查看>>
php smarty使用..
查看>>
FLV文件格式解析
查看>>
将Sqlserver2012Express的mdf文件同步到SqlServer2008
查看>>
10条影响CSS渲染速度的写法与建议(摘抄HTML5中国)
查看>>
选项卡
查看>>
【深度学习】一文读懂机器学习常用损失函数(Loss Function)
查看>>
php判断数据类型
查看>>
css 定位标签设置格式
查看>>
js-实现鼠标滑轮滚动实现换页
查看>>
windows下通过.bat运行java程序
查看>>
Zabbix二次开发_01基础
查看>>
几何画板演示多边形滚动动画的方法
查看>>
指令处理的数据的长度
查看>>
短信验证倒计时
查看>>