配置Linux内核时,我通常从我的发行版的内核配置文件开始。我经常想关闭一些条目,但它们有时是不可更改的,因为启用了依赖它的其他CONFIG选项。
我可以手动查找依赖项,这些依赖项通常具有自己的依赖项。通过它们完成所有操作可能非常耗时,特别是如果您尝试关闭CONFIG_KALLSYMS之类的内容。
问题:有没有办法指定您想要的CONFIG选项,并为您自动选择/解析所有依赖
更新:有人回答说make oldconfig
应该从.config文件中删除(删除)所需的CONFIG选项后执行此任务,但这不起作用(他的答案随后消失) ):
$ make oldconfig
scripts/kconfig/conf -o arch/x86/Kconfig
*
* Restart config...
*
*
* Configure standard kernel features (for small systems)
*
Configure standard kernel features (for small systems) (EMBEDDED) [N/y/?] n
Load all symbols for debugging/ksymoops (KALLSYMS) [Y/?] (NEW) y
Include all symbols in kallsyms (KALLSYMS_ALL) [Y/?] (NEW) y
Do an extra kallsyms pass (KALLSYMS_EXTRA_PASS) [N/y/?] (NEW)
它自动说“y”两个前两个,我试图找到一种自动删除它们并让它们消失的方法。
答案 0 :(得分:7)
对于任何可能偶然发现这一点的人来说,Kconfiglib现在位于https://github.com/ulfalizer/Kconfiglib,并且在编写完成时已经过最新的Kconfig版本(Linux 3.7.0-rc8)。安装也大大简化了。
更新
Kconfiglib现已更新为 Linux v4.0-rc3 ,测试套件以强迫模式传递。添加了一个新的option allnoconfig_y
选项(用于在y
期间将某些符号保留为make allnoconfig
)。
很抱歉让Kconfiglib咬了一会儿! :/
随意发布您可能拥有的任何与Kconfig相关的问题(不一定与Kconfiglib相关)并将其链接到此处(或以其他方式通知我)。 Kconfig有很多不起眼的角落。
答案 1 :(得分:5)
看起来像Ulf Magnusson的Kconfiglib会让你在Python中修改配置依赖关系并修改配置设置:http://lwn.net/Articles/426013 - 除此之外,我发现了对问题的讨论,但没有解决方案。
Kconfiglib的一些有用的项目: