Kconfig .config Makefile 区别联系

felix的认识:

(1)Kconfig为make menuconfig提供配置选项;

(2).config是由make menuconfig产生的配置文件;

(3)make内核的时候,会根据.config文件,向Kbuild系统下的makefile文件传递配置参数,决定是否加载driver module。

转自:https://blog.csdn.net/qq_27840681/article/details/77335168

三者联系

一、Kconfig

1.定义:

一个文本形式的文件,其中主要作用是在内核配置时候,作为配置选项。
即:在Kconfig文件中添加配置选项。
这里写图片描述

2.语法:

config symbol //是个新的标记的菜单项
   options //是在这个新的菜单项下的属性和选项

例:config HELLO_MODULE
     bool “hello test module”
     depends on ARCH_PXA
     help
      XXXX

3.options5种类型:

bool布尔类型/tristate三态/string字符串/hex十六进制/integer整型

其中,bool:菜单项显示为[],.config中生成一个 CONFIG_XXX=y/n (选中/不选中)
   tristate:菜单项显示为<>, .config中生成一个 CONFIG_XXX=y/m/n(编译成内核映像/编译成内核模块/不编译)

4.目录层次迭代 :

通过source “/…/…/Kconfig”链接,这样便可以使各个目录管理各自的配置内容,使不必把那些配置都写在同一个文件里,方便修改和管理

5.依赖关系:

例:
config HELLO_MODULE
    bool “hello test module”
    depends on ARCH_PXA
    help
     XXXX
表示 HELLO_MODULE 依赖于ARCH_PXA

6.make menuconfig:会出现内核的配置界面

这里写图片描述

二、.config

在选择后会生成.config
这里写图片描述

三、Makefile

2.6内核的Makefile分为5个组成部分:
1. 最顶层的Makefile :读取 .config文件的内容,并总体上负责build内核和模块。
2. 内核的.config配置文件
3. 在arch/$(ARCH) 目录下的体系结构相关的Makefile:提供补充体系结构相关的信息
4. 在s目录下的 Makefile.* 文件:包含了所有用来根据kbuild Makefile 构建内核所需的定义和规则。
5. 各级目录下的大概约500个kbuild Makefile文件

最顶层的Makefile会调用.config负责编译内核和模块。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值