您的位置:首页 > 运维架构 > Linux

linux-3.2.0内核-kconfig.txt翻译

2015-02-01 21:43 323 查看
2.3 <kconfig.txt>文档内容

这个文件包含了使用"make *config"的一些帮助。使用"make help"列出所有可能的配置

目标板。

xconfig ('qconf') 和 menuconfig ('mconf')程序里也包含内置的帮助文档。Be sure to check

it for navigation, search, and other general help text.

2.3.1 通用

通常,新内核发布的时候,都会介绍新 config 符号。更为重要的是,新内核发布可以重

新命令 config 符号。这时候,使用先前的.config 文件,并运行命令“make oldconfig”可能不

会给你生成一个可用的内核,所以,你会发现你还是需要看看新的内核配置符号是什么。

使用"make oldconfig"的时候,可以列出新的 config 符号,如下:

cp user/some/old.config .config

yes "" | make oldconfig >conf.new

config 工具将会列出未知值的新符号。当然了,.config 文件也会用新值更新,所有你可

以使用:

grep "(NEW)" conf.new

为了看新的 config 符号或你可以 “diff” 新的和旧的.config 文件查看不同的地方:

diff .config.old .config | less

(看到这里,你是不是想是否有更好的办法?答案是对的,我们需要一些更好的方法。)

2.3.2 '*config' 的环境变量

KCONFIG_CONFIG

这个环境变量被用来指定一个默认的内核 config 文件名称去覆盖".config"默认名称。

KCONFIG_OVERWRITECONFIG

如果你在编译环境里设置了 KCONFIG_OVERWRITECONFIG 变量,当.config 通过符号

链接到其它文件时,Kconfig 不会打断符号链接。

该环境变量主要用于'{allyes/allmod/allno/rand}config'。

KCONFIG_ALLCONFIG

(partially based on lkml email from/by Rob Landley, re: miniconfig)

释义:config 的变体能使用环境变量 KCONFIG_ALLCONFIG(所赋的值)作为一个标识或者是文件名(包含了用户想用的特殊值作为的配置符号)。如果 KCONFIG_ALLCONFIG

被用了,但是没给它赋值,那么“make *config”会通过检查一个个名字为“all{yes...}.config”

的文件(与 make *config 命令一致的文件),以强制使用那个符号值。但如果都没找到,那

就查找所有的名字为 all.config 的文件以把找到的值强制赋予给这个环境变量。

这让你可以根据自己的兴趣或者是需求,创建小配置文件或者是客户配置文件。而内核

提供全配置文件(默认配置),包括了你所配置的小配置文件里用到的所有符号。

allyesconfig/allmodconfig/allnoconfig/randconfig 这些 config 的变体也能使用环境变量

KCONFIG_ALLCONFIG 作为标志和文件名,里面包含了用户想要的特殊值作为 config 符号

值。如果 KCONFIG_ALLCONFIG 被使用了,但是没有指定文件名,"make *config" 检查名

为"all{yes/mod/no/def/random}.config"的文件(这里是与使用的 make *config 命令对应的),

强制使用这个文件里的符号值。如果这个文件没有发现,就会检查名为"all.config"的文件,

而是强制使用这个文件里的值。

这个功能使你创建“miniature”config(也就是 miniconfig)或用户定制 config 文件(里面

包含你所喜欢的 config 符号)。然后,内核 config 系统产生全部的.config 文件,包含你的

miniconfig 文件里的配置符号。

'KCONFIG_ALLCONFIG' 文件是 config 文件,它包含预先设置的 config 符号(通常是

所有符号的子集)。这些变量设置仍然服从于正常的依赖性检查。例如:

KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig



KCONFIG_ALLCONFIG=mini.config make allnoconfig



make KCONFIG_ALLCONFIG=mini.config allnoconfig

这些例子将会失能大多数的选项(allnoconfig),但是,能够控制(使能或失能)那些在

指定的 mini-config 文件中列出的选项。

2.3.3 'silentoldconfig'环境变量

KCONFIG_NOSILENTUPDATE

如果这个变量具有非空值,它阻止静默内核 config 更新(要求明确的更新)



KCONFIG_AUTOCONFIG

该 环 境 变 量 被 设 置 , 用 来 指 定 auto.conf 文 件 的 路 径 和 名 称 。 它 的 默 认 值 是

"include/config/auto.conf"。

KCONFIG_TRISTATE

该 环 境 变 量 被 设 置 , 用 来 指 定 tristate.conf 文 件 的 路 径 和 名 称 。 它 的 默 认 值 是

"include/config/tristate.conf"。

KCONFIG_AUTOHEADER该 环 境 变 量 被 设 置 , 用 来 指 定 autoconf.h 文 件 的 路 径 和 名 称 。 它 的 默 认 值 是

"include/generated/autoconf.h"。

2.3.4 menuconfig

config 符号的搜索

(1)Menuconfig 配置菜单里的搜索:

搜索功能搜索内核配置符号的名称,所以,你必须知道你想要寻找符号的一些紧密相关

的信息。

例如,在配置菜单界面键入“/”,然后就会弹出输入字符串的对话框,键入“hotplug”:

/hotplug

这 条 命 令 将 会 列 出 所 有 的 包 含 “hotplug” 字 符 串 的 config 符 号 的 对 话 框 。 例 如 ,

HOTPLUG,HOTPLUG_CPU,MEMORY_HOTPLUG。

对于搜索帮助,键入 /,后面紧跟 3 个 TAB 键(TAB-TAB-TAB,高亮<Help>)

,并 enter。

这将告诉你搜索字符串的正则表达式,所以,如果你对 MEMORY_HOTPLUG 配置符号不

感兴趣的话,可以尝试:

/^hotplug

2.3.5 menuconfig 的用户接口选项

MENUCONFIG_COLOR

选择菜单的不同颜色主调,可以使用该变量实现。例如:

make MENUCONFIG_COLOR=<theme> menuconfig

可以利用的颜色主题有:

mono

=> 选择单色显示(合适的颜色)

blackbg

=> 选择黑白显示

classic

=> 蓝色背景,经典视图

bluetitle

=> 友好的 LCD 交互界面(默认)

MENUCONFIG_MODE

这个模式展示了所有的子菜单,用一种菜单项树的形式。

例如:

make MENUCONFIG_MODE=single_menu menuconfig

2.3.6 xconfig

xconfig 的搜索方式:

搜索功能也是为了搜索内核配置符号的名字,所以,你也必须应该知道你要搜索的符号的一部分或者全部。例如:

Ctrl-F hotplug



Menu: File, Search, hotplug

列出符号名称中包含“hotplug”字样的所有 config 符号入口。在这个搜索对话框里,你可

以改变任何没有变灰的符号入口的 config 设置。你可以不用返回主菜单,而是键入不同的搜

索字符串进行搜索。

2.3.7 gconfig

gconfig 的搜索方式:

无(gconfig 不如 xconfig 或 menuconfig 维护的那样好);但是,gconfig 确实比 xconfig

拥有更多的视图选项。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: