Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser and frontends

Preview:

DESCRIPTION

The configuration language used by the Linux kernel, known as kconfig, has gained some traction in the community, and is increasingly used by third-party projects. The kconfig-frontends package aims at centralising the effort of keeping an up-to-date, out of the Linux source tree, packaging of the kconfig infrastructure, ready for use by third party projects. The state of the project will be presented: what has been done so far, and ideas on future evolutions. Some kconfig tips and tricks will also be demonstrated.

Citation preview

2013-09-25 (C) 2013 Yann E. MORIN 1

Kernel Recipes - September 2013 – kconfig-frontends

kconfig-frontends

A packaging of the kconfig parser and frontends

Yann E. MORINyann.morin.1998@free.fr

http://ymorin.is-a-geek.org/

2013-09-25 (C) 2013 Yann E. MORIN 2

Kernel Recipes - September 2013 - kconfig-frontends

Kconfig language overview

➢Configuration description language

➢Simple syntax & grammar

➢Limited number of types➢booleans, tristates➢strings, integers

➢Dependency tracking➢reverse and direct

➢i18n ready (mostly)

2013-09-25 (C) 2013 Yann E. MORIN 3

Kernel Recipes - September 2013 - kconfig-frontends

Kconfig language overview

config FOO bool prompt "FOO device" help Support for FOO device.

config FOO_BAR bool "Use BAR of the FOO" depends on FOO select GENERIC_BAR help Support BAR in FOO device.

config GENERIC_BAR bool

2013-09-25 (C) 2013 Yann E. MORIN 4

Kernel Recipes - September 2013 - kconfig-frontends

Kconfig frontends

➢line-oriented 'conf'

➢curses-based 'mconf' and 'nconf'

➢Qt-based 'qconf'

➢GTK-based 'gconf'

2013-09-25 (C) 2013 Yann E. MORIN 5

Kernel Recipes - September 2013 - kconfig-frontends

Kconfig-frontends

➢Kconfig widely used outside the Linux kernel➢busybox, uClibc➢buildroot, PTXdist, openWRT, crosstool-NG➢QEMU (pending)

➢make it easy for other projects to re-use Kconfig with minimal maintenance burden

➢help them converge to a common set of features

2013-09-25 (C) 2013 Yann E. MORIN 6

Kernel Recipes - September 2013 - kconfig-frontends

Kconfig-frontends

➢packaged using autotools

➢generates a library with the parser➢shared by default➢static optionally

➢builds all five frontends➢conf, mconf, nconf, qconf, gconf➢linked to the parser library

➢builds utilities➢diff, merge, tweak, gettext

2013-09-25 (C) 2013 Yann E. MORIN 7

Kernel Recipes - September 2013 - kconfig-frontends

Kconfig-frontends

➢each frontend optional

➢utils may be ommitted

➢frontends and utils prefixed with kconfig-

➢set default behaviour➢default options prefix instead of CONFIG_➢default root menu

➢builds on Linux, Cygwin, *BSD

2013-09-25 (C) 2013 Yann E. MORIN 8

Kernel Recipes - September 2013 - kconfig-frontends

Thank you!

Questions?

Yann E. MORINyann.morin.1998@free.fr

http://ymorin.is-a-geek.org/

License for this paper: Creative Commons BY-SA 3.0Source for this paper: http://ymorin.is-a-geek.org/publis/KernelRecipes/2013

Recommended