2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。
上面的内容说明:Kconfig就是对应着内核的配置菜单。假如要想添加新的驱动到内核的源码中,可以通过修改Kconfig来增加对我们驱动的配置菜单,这样就有途径选择我们的驱动,假如想使这个驱动被编译,还要修改该驱动所在目录下的Makefile。
因此,一般添加新的驱动时需要修改的文件有两种(注意不只是两个)
*Kconfig
*Makefile
下面简要介绍一下Kconfig
每个菜单项都有一个关键字标识,最常见的就是config。
语法:
config symbol
options
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
symbol就是新的菜单项,options是在这个新的菜单项下的属性和选项
其中options部分有:
1、类型定义:
每个config菜单项都要有类型定义,bool:布尔类型, tristate三态:内建、模块、移除, string:字符串, hex:十六进制, integer:整型
例如config HELLO_MODULE
bool "hello test module"
bool类型的只能选中或不选中,tristate类型的菜单项多了编译成内核模块的选项,假如选择编译成内核模块,则会在.config中生成一个CONFIG_HELLO_MODULE=m的配置,假如选择内建,就是直接编译成内核影响,就会在.config中生成一个CONFIG_HELLO_MODULE=y的配置.
2、依赖型定义depends on或requires
指此菜单的出现是否依赖于另一个定义
config HELLO_MODULE
bool "hello test module"
depends on ARCH_PXA
这个例子表明HELLO_MODULE这个菜单项只对XScale处理器有效,即只有在选择了ARCH_PXA, 该菜单才可见(可配置)。
3、帮助性定义
只是增加帮助用关键字help或---help---
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
转:http://blog.chinaunix.net/uid-26980210-id-3222529.html
分享到:
相关推荐
Kconfig 语法介绍1 Kconfig 语法介绍1 Kconfig 语法介绍1 Kconfig 语法介绍1
kconfig 语法详细介绍,要看内核必看makefile,要看makefile必看kconfig,要看kconfig必要了解kconfig语法。 万里长征第一步,大家走好。
基于linux系统的配置文件kconfig语法
Kconfig语法.txt----linux内核驱动编写中很重要的说明书
内核移植Kconfig的语法 把那些目录 文件编入内核 哪些文件编程模块 内核的配置 等等
linux kconfig详解及语法.pdf
linux2.6.x的配置文件kconfig语法linux在2.6版本以后将配置文件由原来的config.in 改为kconfig,对于kconfig的语法在/Documentation/kbuild/kconfig-language.txt中做了详细的说 明,在这里给出kconfig-language.txt...
每个选项都有其自己的依赖关系。这些依赖关系决定了选项是否是可见的。父选项可见,子选项才能可见。
Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux 内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。Kconfig和Makefile就好似一个城市的地图,地图引导我们去 认识一个城市,...
关于kconfig和makefile语法的文章
kconfig 的语法介绍。查看kconfig具体的使用方法和各个语句段类型
Linux内核源码树的每个目录下都有两个文档Kconfig和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在执行内核配置make menuconfig时...
主要是修改Kconfig文件,在使用ENV工具时,针对于rt-thread的源码进行删减并修改了路径的处理,使得继续能够适应ENV工具
linux下搭建pixhawk开发环境所必备的组件 - ‘’kconfig-frontends‘’
移植linux3.10的kconfig工具,使用该工具之后,可以针对不同的需求,生成不同的编译配置文件,完成不同应用组合的构建功能。 (busybox、buildroot也是借助linux 的kconfig工具实现类似功能)
Android_Linux_Kconfig[借鉴].pdf
Kconfig language exposition document
使用到make menuconfig配置工具的时候会依赖这个包,安装的时候选项记得写./configure --enable-mconf
网上很容易找的,暂时存放在在网上供自己用,没有必要下载
网上很容易找的,暂时存放在在网上供自己用,没有必要下载