内核配置与编译宏观分析

本文宏观分析Linux内核配置与编译过程,包括Kconfig文件详解、设备树编译、.config与defconfig的关系,以及模块的编译导出。通过Kconfig设置功能选项,.config记录配置状态,menuconfig工具进行交互式配置,主Makefile与子Makefile根据.config编译相应组件。此外,还介绍了设备树的编译步骤和将.config保存为defconfig的方法。
摘要由CSDN通过智能技术生成

内核配置与编译宏观分析

通过配置,我们可以控制各功能是否被使用,以及配置一些参数给内核
主要涉及Kconfig、.config、menuconfig、Makefile

1.涉及文件详览

  • Kconfig位于kernel源码内大部分的文件夹中,是一种特殊格式的文件,负责提供kernel各个功能的配置选项,需要注意的是,Kconfig仅仅负责提供配置选项本身,而不提供各选项的值。其具体语法分析详见kernel中的Kconfig详尽分析
  • .config产生于配置阶段,是arch/arm/configs/xxx_defconfig的复制品,而xxx_defconfig是原厂提供的各个配置项的值,里面都是CONFIG_开头的变量,以CONFIG_DM9000为例,其默认值为y:
    CONFIG_DM9000=y
  • menuconfig是kernel提供的一个工具,可以方便的阅读所有Kconfig、可以方便的修改.config,如果分别在menuconfig中修改配置选项的值为:Y或N或M,则.config中的变量会自动变为:值为y或未被定义或值为m
  • 主Makefile没什么好多说的,里面的伪目标是所有配置操作的入口;各个子Makefile根据 .config中CONFIG_开头的变量来判断各个文件是否被编译。例:
    obj-$(CONFIG_DM9000) += dm9000.o
    这句表示,如果CONFIG_DM9000变量值为y&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值