KCONFIG-nconf(1)
π KCONFIG-nconf π
okay bestie, welcome to the kconfig-nconf(1) manual page, last updated October 2017, and no cap it's about to be your new fave β¨
πΈ NAME πΈ
kconfig-nconf β a standalone implementation of the Linux Kconfig parser. yes really. it stands alone. main character energy fr π
β¨ SYNOPSIS β¨
kconfig-nconf [options] <KConfig_file>
π¦ DESCRIPTION π¦
so the kconfig toolkit supports the Kconfig language and implements the parser and the configuration support associated with the KConfig files, respecting the Linux kernel KConfig convention. that's the whole vibe π
At configuration time, you've got options, and they are all iconic in their own way:
kconfig-mconfis based on ncurses (menuconfig)kconfig-confis based on dialog (config)kconfig-gconfis based on GTK+ (gconfig)kconfig-qconfis based on QT (qconfig)
And the associated tools? also serving:
kconfig-diffdisplays symbols diff between.configfiles π
π OPTIONS π
--silentoldconfigβ only forkconfig-conf; it reloads a given.configand regenerates the header and command files accordingly. lowkey niche, highkey useful.--allnoconfigβ sets all boolean configuration to no. everything said no, respectfully π--allyesconfigβ sets all boolean configuration to yes. everything said yes, and honestly? slay π--randconfigβ generates a random configuration. chaos mode, we love her π
π ENVIRONMENT π
Environment variables for '*config'
KCONFIG_CONFIG
this environment variable can be used to specify a default kernel config file name, to override the default name of .config. cute little rename hack, iykyk β¨
KCONFIG_OVERWRITECONFIG
if you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not break symlinks when .config is a symlink to somewhere else. protect the link bestie π«Ά
CONFIG_
if you set CONFIG_ in the environment, Kconfig will prefix all symbols with its value when saving the configuration, instead of using the default, "CONFIG_". so you can name your babies whatever you want π
Environment variables for '{allyes/allmod/allno/rand}config'
KCONFIG_ALLCONFIG
the allyesconfig / allmodconfig / allnoconfig / randconfig variants can also use the environment variable KCONFIG_ALLCONFIG as a flag or a filename that contains config symbols that the user requires to be set to a specific value. if KCONFIG_ALLCONFIG is used without a filename, where KCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1", "make *config" checks for a file named "all{yes/mod/no/def/random}.config" (corresponding to the *config command that was used) for symbol values that are to be forced. if this file is not found, it checks for a file named "all.config" to contain forced values.
this enables you to create "miniature" config (miniconfig) or custom config files containing just the config symbols that you are interested in. then the kernel config system generates the full .config file, including symbols of your miniconfig file. it's giving build-your-own-adventure π§
this 'KCONFIG_ALLCONFIG' file is a config file which contains (usually a subset of all) preset config symbols. these variable settings are still subject to normal dependency checks. no skipping the line, babes π
Examples:
KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig or
KCONFIG_ALLCONFIG=mini.config make allnoconfig or
make KCONFIG_ALLCONFIG=mini.config allnoconfig
these examples will disable most options (allnoconfig) but enable or disable the options that are explicitly listed in the specified mini-config files. obsessed with this level of control fr fr π₯
Environment variables for 'randconfig'
KCONFIG_SEED
you can set this to the integer value used to seed the RNG, if you want to somehow debug the behaviour of the kconfig parser/frontends. if not set, the current time will be used. reproducible chaos, periodt β
KCONFIG_PROBABILITY
this variable can be used to skew the probabilities. see /usr/share/doc/kconfig-frontends/kconfig.txt.gz. go read it, bestie, it's homework π
Environment variables for 'silentoldconfig'
KCONFIG_NOSILENTUPDATE
if this variable has a non-blank value, it prevents silent kernel config updates (requires explicit updates). no sneaky updates on her watch π
KCONFIG_AUTOCONFIG
this environment variable can be set to specify the path name of the "auto.conf" file. its default value is "include/config/auto.conf".
KCONFIG_TRISTATE
this environment variable can be set to specify the path name of the "tristate.conf" file. its default value is "include/config/tristate.conf".
KCONFIG_AUTOHEADER
this environment variable can be set to specify the path name of the "autoconf.h" (header) file. its default value is "include/generated/autoconf.h".
π HISTORY π
June 2017, Man page originally compiled by Philippe Thierry (phil at reseau-libre dot com). an absolute icon for this one, we stan π
ok that's the whole page bestie, go forth and configure responsibly π
and that's a wrap! this was the kconfig-nconf Man Page by Philippe Thierry, dated October 2017 β manual page KCONFIG-nconf(1), mwah π
β¨
π¦ where this page comes from
- debian bookworm: kconfig-frontends 4.11.0.1+dfsg-6 Β· GPL-2.0-only
- debian bookworm: kconfig-frontends-nox 4.11.0.1+dfsg-6 Β· GPL-2.0-only
- debian trixie: kconfig-frontends 4.11.0.1+dfsg-6+b1 Β· GPL-2.0-only
- debian trixie: kconfig-frontends-nox 4.11.0.1+dfsg-6+b1 Β· GPL-2.0-only
- ubuntu jammy: kconfig-frontends 4.11.0.1+dfsg-6 Β· GPL-2.0-only
- ubuntu jammy: kconfig-frontends-nox 4.11.0.1+dfsg-6 Β· GPL-2.0-only
- ubuntu noble: kconfig-frontends 4.11.0.1+dfsg-6build2 Β· GPL-2.0-only
- ubuntu noble: kconfig-frontends-nox 4.11.0.1+dfsg-6build2 Β· GPL-2.0-only
- ubuntu questing: kconfig-frontends 4.11.0.1+dfsg-6build2
- ubuntu questing: kconfig-frontends-nox 4.11.0.1+dfsg-6build2
- ubuntu resolute: kconfig-frontends 4.11.0.1+dfsg-6build3 Β· GPL-2.0-only
- ubuntu resolute: kconfig-frontends-nox 4.11.0.1+dfsg-6build3 Β· GPL-2.0-only
- ubuntu stonking: kconfig-frontends 4.11.0.1+dfsg-6build3 Β· GPL-2.0-only
- ubuntu stonking: kconfig-frontends-nox 4.11.0.1+dfsg-6build3 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms