lxdialog和kconfig(menuconfig)如何协同工作?

时间:2014-05-14 06:32:10

标签: bash user-interface linux-kernel buildroot kbuild

我想了解menuconfig是如何完成的,例如:对于linux-kernel或Buildroot。我所知道的是,它使用lxdialog作为GUI,并且kconfig以某种方式处理逻辑部分(如选择,依赖等)。

但是对话框在何处或如何从kconfig文件中获取信息?互联网上似乎没有太多信息。

感谢您的支持

[我发现了什么:]

我相信 kconfiglib 用于加载菜单,但没有给出示例,如何完成此操作:/

1 个答案:

答案 0 :(得分:3)

Kconfig包括:

  • Kconfig文件的解析器,由flex / bison生成;
  • 解析文件的内部模型+依赖关系的业务逻辑等,您可以在symbol.c,expr.c等中找到。
  • 使用多个UI库的几个前端,每个UI库都有自己的源文件,例如: mconf.c用于lxdialog前端;
  • lxdialog库本身作为kconfig的一部分进行分发。

kconfiglib.py是解析器,内部模型和业务逻辑的替代实现,它可以读取Kconfig文件并从python读取和写入.config文件。据我所知,没有基于kconfiglib的前端。它也不是作为内核的一部分分发的。

最后,

kconfig-frontends是Kconfig实现的独立克隆,它是内核的一部分。它使得在其他项目中使用Kconfig成为可能,而无需复制它并单独维护它。