[lkml]   [2018]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [ANN] init-kconfig - easy way to embrace Linux's kconfig
On Thu, Oct 4, 2018 at 10:03 PM Luis Chamberlain <> wrote:
> Every now and then a project is born, and they decide to use Linux's
> kconfig to enable configuration of their project. As it stands we *know*
> kconfig is now used in at least over 12 different projects [0]. I myself
> added kconfig to one as well years ago. Even research reveals that
> kconfig has become one of the leading industrial variability modeling
> languages [1] [2].
> What is often difficult to do though is to start off using kconfig and
> integrating it into a project. Or updating / syncing to the latest
> kconfig from upstream Linux.
> I had yet another need to use kconfig for another small project so
> decided to make a clean template others can use and help keep it in sync.
> This is a passive fork which aims to keep in sync with the Linux
> kernel's latest kconfig to make it easier to keep up to date and to
> enable new projects to use and embrace kconfig on their own. The goal
> is *not* to fork kconfig and evolve it separately, but rather keep in
> sync with the evolution of kconfig on Linux to make it easier for
> projects to use kconfig and also update their own kconfig when needed.
> This may also be useful if folks want to test R&D code on a smaller
> compartamentalized codebase.
> If you find this useful and you'd like to help keep it in sync, send
> patches my way as the kernel's kconfig evolves. The code is up on
> gitlab).) [3].
> Do we want to document this option on Linux in case folks want to try
> and embrace kconfig on their own for other projects?
> [0]
> [1]
> [2]
> [3]
> Luis

Shameless self-plug:

There's also a Python Kconfig implementation that's starting to get
picked up by several projects:

It has a terminal menuconfig interface with a lot more features than
mconf (a demonstration is available at,
and can also be used e.g. to generate cross-referenced Kconfig
documentation that includes propagated dependencies:
(note: heavy page).

Kconfiglib is based around a library (an old version appears in e.g.
U-Boot and Yocto, and a newer version in e.g. Espressif). The
documentation generation is just a script
and the same goes for the menuconfig and the other tools. The core
library takes part of all the trickiness related to evaluating

I realize there would probably be massive opposition to adding a
Python dependency to a core part of the kernel, so I'm not going for
that. For most other projects, I think it's a good fit though.


 \ /
  Last update: 2018-10-06 07:54    [W:0.065 / U:8.640 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site