嵌入式系统002-Menuconfig_Kconfig

主要内容

. Menuconfig
. Kconfig和.config文件
. Linux内核配置裁剪(实验)

一、Menuconfig的操作

. Linux编译器通过.config文件确认哪些代码编译进内核、哪些被裁掉
. menuconfig是生成.config的一个工具

.在Linux发展过程中,配置内核可以使用一下命令:
(1)make config(基于文本的最为传统的配置界面,不推荐使用)
(2)make menuconfig (基于文本菜单配置界面)
(3)make xconfig(要求QT被安装)
(4)make gconfig(要求GTK+被安装)
. 使用"空格"键选择具体驱动配置,有三种状态
.“M"编译成模块(需要在编译文件里面特殊定义,后面介绍)
.”*"编译进内核

Kconfig文件
. 看到这么复杂的配置不要慌,记住以下点
(1)拿到Linux源码代码的时候,已经将基本的配置好了
(2)常用的配置基本在drivers目录下
(3)所有你想要的配置方式都带有例子

千万别花太多精力去学习脚本语法
. 源码中带的config_for_xxx都是针对不同的操作系统或者功能裁剪的.config文件。
嵌入式系统002-Menuconfig_Kconfig
Linux内核配置裁剪
. 在Kconfig中的添加HELLO,然后查看menuconfig
. 配置和裁剪HELLO的驱动,查看.config文件的变化
. 将HELLO定义为"tristate",可选为"M"状态

小结

. Menuconfig熟练使用即可,不要知道Linux怎么实现的
. Kconfig能够仿写即可