Skip to content

Commit fbdeb12

Browse files
mudongliangJonathan Corbet
authored andcommitted
docs/zh_CN: add the translation of kbuild/kconfig.rst
Finish the translation of kbuild/kconfig.rst and move kconfig from TODO to the main body. Update to commit f6314b7 ("docs: kbuild/kconfig: reformat/cleanup") Signed-off-by: Dongliang Mu <[email protected]> Reviewed-by: Alex Shi <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 82f5ee3 commit fbdeb12

File tree

2 files changed

+260
-1
lines changed

2 files changed

+260
-1
lines changed

Documentation/translations/zh_CN/kbuild/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
.. toctree::
1313
:maxdepth: 1
1414

15+
kconfig
1516
headers_install
1617
gcc-plugins
1718

@@ -20,7 +21,6 @@ TODO:
2021
- kconfig-language
2122
- kconfig-macro-language
2223
- kbuild
23-
- kconfig
2424
- makefiles
2525
- modules
2626
- issues
Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
.. include:: ../disclaimer-zh_CN.rst
4+
5+
:Original: Documentation/kbuild/kconfig.rst
6+
:Translator: 慕冬亮 Dongliang Mu <[email protected]>
7+
8+
================
9+
配置目标和编辑器
10+
================
11+
12+
本文件包含使用 ``make *config`` 的一些帮助。
13+
14+
使用 ``make help`` 列出所有可能的配置目标。
15+
16+
xconfig('qconf')、menuconfig('mconf')和 nconfig('nconf')程序也包含
17+
内嵌的帮助文本。请务必查看这些帮助文本以获取导航、搜索和其他帮助信息。
18+
19+
gconfig('gconf')程序的帮助文本较少。
20+
21+
22+
通用信息
23+
========
24+
25+
新的内核版本通常会引入新的配置符号。更重要的是,新的内核版本可能会重命名配置符号。
26+
当这种情况发生时,使用之前正常工作的 .config 文件并运行 "make oldconfig"
27+
不一定会生成一个可正常工作的新内核,因此,你可能需要查看哪些新的内核符号被引入。
28+
29+
要查看新配置符号的列表,请使用::
30+
31+
cp user/some/old.config .config
32+
make listnewconfig
33+
34+
配置程序将列出所有新配置符号,每行一个。
35+
36+
或者,你可以使用暴力破解方法::
37+
38+
make oldconfig
39+
scripts/diffconfig .config.old .config | less
40+
41+
42+
环境变量
43+
========
44+
45+
``*config`` 的环境变量:
46+
47+
``KCONFIG_CONFIG``
48+
该环境变量可用于指定一个默认的内核配置文件名,以覆盖默认的 ".config"。
49+
50+
``KCONFIG_DEFCONFIG_LIST``
51+
该环境变量指定了一个配置文件列表,当 .config 不存在时,这些文件可用作基础配置。
52+
列表中的条目以空格分隔,只有第一个存在的文件会被使用。
53+
54+
``KCONFIG_OVERWRITECONFIG``
55+
如果该环境变量被设置,当 .config 是指向其他位置的符号链接时,Kconfig 不会
56+
破坏符号链接。
57+
58+
``KCONFIG_WARN_UNKNOWN_SYMBOLS``
59+
该环境变量使 Kconfig 对配置输入中所有无法识别的符号发出警告。
60+
61+
``KCONFIG_WERROR``
62+
如果该环境变量被设置,Kconfig 将所有警告视为错误。
63+
64+
``CONFIG_``
65+
如果该环境变量被设置,Kconfig 将在保存配置时,为所有符号添加其值作为前缀,
66+
而不是使用默认值。
67+
68+
``{allyes/allmod/allno/rand}config`` 的环境变量:
69+
70+
``KCONFIG_ALLCONFIG``
71+
allyesconfig/allmodconfig/allnoconfig/randconfig 这些变体也可以使用环境
72+
变量 KCONFIG_ALLCONFIG 作为标志或包含用户要求设置为特定值的配置符号的文件名。
73+
如果 KCONFIG_ALLCONFIG 未指定文件名,即 KCONFIG_ALLCONFIG == "" 或
74+
KCONFIG_ALLCONFIG == "1",则 ``make *config`` 将查找名为
75+
"all{yes/mod/no/def/random}.config" 的文件(对应于所使用的 ``*config``
76+
命令)以强制符号值。如果找不到此文件,它会查找名为 "all.config" 的文件以包含
77+
强制值。
78+
79+
这可以创建“微型”配置(miniconfig)或自定义配置文件,其中仅包含感兴趣的配置符号。
80+
然后,内核配置系统将生成完整的 .config 文件,包括 miniconfig 文件中的符号。
81+
82+
``KCONFIG_ALLCONFIG`` 文件包含许多预设配置符号(通常是所有符号的子集)。
83+
这些变量设置仍需遵守正常的依赖性检查。
84+
85+
示例::
86+
87+
KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig
88+
89+
或::
90+
91+
KCONFIG_ALLCONFIG=mini.config make allnoconfig
92+
93+
或::
94+
95+
make KCONFIG_ALLCONFIG=mini.config allnoconfig
96+
97+
这些示例将禁用大多数配置选项(allnoconfig),但启用或禁用 miniconfig 文件
98+
中显式列出的选项。
99+
100+
``randconfig`` 的环境变量:
101+
102+
``KCONFIG_SEED``
103+
如果你想调试 kconfig 解析器/前端的行为,你可以将此变量设置整数值,用于初始化
104+
随机数生成器。如果未设置,将使用当前时间。
105+
106+
``KCONFIG_PROBABILITY``
107+
该变量可用于倾斜概率分布。此变量可不设置或设置为空,或设置为以下三种不同格式:
108+
109+
======================= ================== =====================
110+
KCONFIG_PROBABILITY y:n 分配 y:m:n 分配
111+
======================= ================== =====================
112+
未设置或设置为空 50 : 50 33 : 33 : 34
113+
N N : 100-N N/2 : N/2 : 100-N
114+
[1] N:M N+M : 100-(N+M) N : M : 100-(N+M)
115+
[2] N:M:L N : 100-N M : L : 100-(M+L)
116+
======================= ================== =====================
117+
118+
其中 N、M 和 L 是范围在 [0,100] 内的整数(以十进制表示),并且需满足:
119+
120+
[1] N+M 的范围在 [0,100] 之间
121+
122+
[2] M+L 的范围在 [0,100] 之间
123+
124+
示例::
125+
126+
KCONFIG_PROBABILITY=10
127+
10% 的布尔值将设置为 'y',90% 设置为 'n'
128+
5% 的三态值将设置为 'y',5% 设置为 'm',90% 设置为 'n'
129+
KCONFIG_PROBABILITY=15:25
130+
40% 的布尔值将设置为 'y',60% 设置为 'n'
131+
15% 的三态值将设置为 'y',25% 设置为 'm',60% 设置为 'n'
132+
KCONFIG_PROBABILITY=10:15:15
133+
10% 的布尔值将设置为 'y',90% 设置为 'n'
134+
15% 的三态值将设置为 'y',15% 设置为 'm',70% 设置为 'n'
135+
136+
``syncconfig`` 的环境变量:
137+
138+
``KCONFIG_NOSILENTUPDATE``
139+
如果该变量非空,它将阻止静默的内核配置更新(需要明确更新)。
140+
141+
``KCONFIG_AUTOCONFIG``
142+
该环境变量可以设置为 "auto.conf" 文件的路径和名称。默认值为
143+
"include/config/auto.conf"。
144+
145+
``KCONFIG_AUTOHEADER``
146+
该环境变量可以设置为 "autoconf.h" 头文件的路径和名称。默认值为
147+
"include/generated/autoconf.h"。
148+
149+
menuconfig
150+
==========
151+
152+
在 menuconfig 中搜索:
153+
154+
搜索功能会搜索内核配置符号名称,因此你必须知道欲搜索内容的大致名称。
155+
156+
示例::
157+
158+
/hotplug
159+
这会列出所有包含 "hotplug" 的配置符号,例如,HOTPLUG_CPU,
160+
MEMORY_HOTPLUG。
161+
162+
若需要搜索帮助,输入 / 后跟 TAB-TAB(高亮显示 <Help>)并按回车键。
163+
这说明你还可以在搜索字符串中使用正则表达式(regex),所以如果你对
164+
MEMORY_HOTPLUG 不感兴趣,你可以尝试::
165+
166+
/^hotplug
167+
168+
在搜索时,符号将按以下顺序排序:
169+
170+
- 首先,完全匹配的符号,按字母顺序排列(完全匹配是指搜索与符号名称完全匹配);
171+
- 然后是其他匹配项,按字母顺序排列。
172+
173+
例如,^ATH.K 匹配::
174+
175+
ATH5K ATH9K ATH5K_AHB ATH5K_DEBUG [...] ATH6KL ATH6KL_DEBUG
176+
[...] ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_COMMON [...]
177+
178+
其中只有 ATH5K 和 ATH9K 完全匹配,因此它们排在前面(按字母顺序),
179+
接下来是其他符号,同样按字母顺序排列。
180+
181+
在此菜单中,按下以 (#) 为前缀的键将直接跳转到该位置。退出此新菜单后,
182+
你将返回当前的搜索结果。
183+
184+
'menuconfig' 的用户界面选项:
185+
186+
``MENUCONFIG_COLOR``
187+
可以使用变量 MENUCONFIG_COLOR 选择不同的配色主题。使用以下命令选择主题::
188+
189+
make MENUCONFIG_COLOR=<theme> menuconfig
190+
191+
可用的主题有::
192+
193+
- mono => 选择适合单色显示器的颜色
194+
- blackbg => 选择具有黑色背景的配色方案
195+
- classic => 经典外观,蓝色背景
196+
- bluetitle => 经典外观的 LCD 友好版本(默认)
197+
198+
``MENUCONFIG_MODE``
199+
此模式会将所有子菜单显示为一个大树状结构。
200+
201+
示例::
202+
203+
make MENUCONFIG_MODE=single_menu menuconfig
204+
205+
nconfig
206+
=======
207+
208+
nconfig 是一个替代的基于文本的配置工具。它在终端(窗口)底部列出功能键,用于执行
209+
命令。除非你在数据输入窗口中,否则你也可以直接使用相应的数字键来执行命令。例如,你
210+
可以直接按 6,而非 F6 进行保存。
211+
212+
使用 F1 获取全局帮助或 F3 打开简短帮助菜单。
213+
214+
在 nconfig 中搜索:
215+
216+
你可以在菜单项“提示”字符串中或配置符号中进行搜索。
217+
218+
使用 / 开始在菜单项中搜索。这不支持正则表达式。使用 <Down> 或 <Up>
219+
分别为下一个命中项和上一个命中项。使用 <Esc> 退出搜索模式。
220+
221+
F8(SymSearch)在配置符号中搜索给定的字符串或正则表达式(regex)。
222+
223+
在 SymSearch 中,按下 (#) 前缀的键会直接跳转到该位置。退出该新菜单后,
224+
你将返回到当前的搜索结果。
225+
226+
环境变量:
227+
228+
``NCONFIG_MODE``
229+
此模式会将所有子菜单显示为一个大型树结构。
230+
231+
示例::
232+
233+
make NCONFIG_MODE=single_menu nconfig
234+
235+
xconfig
236+
=======
237+
238+
在 xconfig 中搜索:
239+
240+
搜索功能会搜索内核配置符号名称,因此你必须知道欲搜索内容的大致名称。
241+
242+
示例::
243+
244+
Ctrl-F hotplug
245+
246+
或::
247+
248+
菜单:File, Search, hotplug
249+
250+
列出所有符号名称中包含 "hotplug" 的配置符号项。在此搜索对话框中,
251+
你可以更改任何未灰显条目的配置设置。你还可以输入不同的搜索字符串,
252+
而无需返回主菜单。
253+
254+
gconfig
255+
=======
256+
257+
在 gconfig 中搜索:
258+
259+
gconfig 中没有搜索命令。然而,gconfig 具有几种不同的查看选择、模式和选项。

0 commit comments

Comments
 (0)