Click here to load reader
Upload
anne-nicolas
View
845
Download
0
Embed Size (px)
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. [email protected]
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. [email protected]
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