- Menuconfig的操作
- Kconfig和.config文件
- Linux内核配置裁减
1. Menuconfig的操作
Linux编译器通过.config文件确认哪些代码编译进内核,哪些被裁减掉menuconfig是生成.config的一个工具。
在Linux源码目录下输入命令make Menuconfig,可以进入配置界面
– menuconfig实现的代码在源码“scripts”目录下
常用操作
– 上下选择→按键“上下方向键”
– 左右选择→按键“左右方向键”
– 进入下级界面→按键“回车”
– 返回上级界面→选择“Exit”+按键“回车”
– 帮助→选择“help”+按键“回车”
搜索
– 界面输入“/”,输入查找关键词,输入“回车”即可搜索
– 使用“空格”键选择具体驱动配置,有三种状态
– “M”编译成模块(需要在编译文件里面特殊定义,后面介绍)
– “空”不编译状态
– “*”编译进内核
退出
– 不保存退出
– 保存退出
2. Kconfig和.config文件
- Kconfig也是通过脚本编写而成,所以学会“仿写”即可。 Kconfig文件在每一级目录下都有,源码下的如下图所示。mainmenu菜单可以看到平台“arm”和内核版本“3.0.15”
- Kconfig文件——driver目录下的Kconfig分析
- drivers/Kconfig 文件显示菜单 menu “Device Drivers”,并且source 引用的资源都在drivers目录下,其中source “driver/char/Kconfig”,表示引用这个目录下的Kconfig文件。
- driver/char/Kconfig 文件显示菜单 menu “Character devices”,并且source 引用的资源都在drivers/char 目录下,其中医用的config LEDS_CTL… 就是LEDS的配置项
- .config文件
通过menuconfig的配置,最终生成.config文件,让内核调用
3. Linux内核配置裁减
模仿写hello即可
- vi drivers/char/Kconfig
- / 搜索LEDS
- 模仿写HELLO tristate表示三态,默认状态是 y ,保存退出
- make menuconfig 进入配置页面
- 进入目录依次找到HELLO配置项
- 保存退出
- 查看生成的 .config 文件配置