在Linux内核版本上recursion禁用CONFIG依赖关系

configurationLinux内核时,我通常从我的发行版的内核configuration文件开始。 我经常想closures一些条目,但是有时它们是不可更改的,因为依赖于它的其他configuration选项被启用。

我可以手动查找依赖关系,这往往依赖于他们自己的依赖关系。 通过它们完成所花费的时间可能相当耗时,特别是如果您试图closures像CONFIG_KALLSYMS之类的东西。

问题:有没有办法指定你想要的CONFIG选项,并且自动select/parsing所有的依赖项作为底层 ? 我查看了所有make选项和脚本目录,并没有看到任何可用的东西。

更新 :有人回答说,从.config文件中删除(删除)所需的CONFIG选项后, make oldconfig应该做的工作,但没有工作(他的答案然后消失):

 $ 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”两个,我试图find一个自动的方式来删除它们,并保持它们消失。

它看起来像Ulf Magnusson的Kconfiglib,可以让你在Python中修改配置依赖关系,并修改配置设置: http : //lwn.net/Articles/426013 – 除此之外,我发现讨论的问题,但没有解决。

Kconfiglib的一些有用的项目:

  • 文档
  • 最新的补丁
  • 示例Tarball

对于任何可能遇到此问题的人来说,Kconfiglib现在位于https://github.com/ulfalizer/Kconfiglib ,并且在写入(Linux 3.7.0-rc8)时已经被打磨并更新为最新的Kconfig版本。 安装也大大简化了。

更新:

现在,Kconfiglib已经针对Linux v4.0-rc3进行了更新,测试套件以强迫模式进入。 一个新的option allnoconfig_y选项(在make allnoconfig期间将某些符号保留为y )被添加了,它被禁止了。

抱歉让Kconfiglib bitrot有一阵子! :/

随意发布任何与Kconfig相关的问题(不一定与Kconfiglib有关),并且按照方式(或以其他方式通知我)将它们链接到这里。 Kconfig有很多晦涩的角落。