KCONFIG-CONF(1)
β¨ NAME β¨
kconfig-conf β the standalone implementation of the Linux Kconfig parser, bestie π
(it's the little toolkit that reads your Kconfig files and does the whole "what do you want your build to look like" thing, and it's giving main character energy fr fr)
πΈ SYNOPSIS πΈ
kconfig-conf [options] <KConfig_file>
so like, you give it options and a KConfig_file, and it does its thing. iconic.
π DESCRIPTION π
okay so, the kconfig toolkit? it fully speaks the Kconfig language. it implements the parser and the configuration support that goes with your KConfig files, and it respects the Linux kernel KConfig convention, no cap. π«Ά
At configuration time, the squad is:
kconfig-mconfβ based onncurses(that'smenuconfig)kconfig-confβ based ondialog(that'sconfig)kconfig-gconfβ based onGTK+(that'sgconfig)kconfig-qconfβ based onQT(that'sqconfig)
And the associated tools, because the family is BIG:
kconfig-diffβ displays symbols diff between.configfiles π
periodt. four frontends, one parser, zero notes. π
π OPTIONS π
--silentoldconfigβ only forkconfig-conf, babes. it reloads a given.configand regenerates the header and command files accordingly. like a glow-up for your config files β¨--allnoconfigβ sets all boolean configuration tono. everything. no. respectfully declining all of it π--allyesconfigβ sets all boolean configuration toyes. yes to everything, we're saying yes to life, we're saying yes to the function π--randconfigβ generates a random configuration. chaos mode, spin the wheel, let fate decide π²
π¦ ENVIRONMENT π¦
π Environment variables for '*config'
KCONFIG_CONFIGβ you can use this env var to specify a default kernel config file name, and it overrides the default name of".config". so you don't gotta keep typing the same name over and over, she's convenient like that.KCONFIG_OVERWRITECONFIGβ if you setKCONFIG_OVERWRITECONFIGin the environment, Kconfig will not break symlinks when.configis a symlink to somewhere else. like, it'll be nice to your symlinks. so thoughtful π₯ΊCONFIG_β if you setCONFIG_in the environment, Kconfig will prefix all symbols with its value when saving the configuration, instead of using the default,"CONFIG_". so you can rebrand your symbols, you go girl.
π Environment variables for '{allyes/allmod/allno/rand}config'
KCONFIG_ALLCONFIGβ theallyesconfig/allmodconfig/allnoconfig/randconfigvariants can also use the environment variableKCONFIG_ALLCONFIGas a flag, or as 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" β then 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 that file isn't found, it checks for a file named "all.config" to contain forced values. it's like a scavenger hunt but the prize is a working config π§
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 curated. it's giving limited edition. β¨
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. (so like, no skipping the rules bestie, the deps are watching π)
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. so, mostly off, except the things you personally vouched for π
β 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. so the chaos is either reproducible or literally just whatever time it is πKCONFIG_PROBABILITYβ this variable can be used to skew the probabilities. See/usr/share/doc/kconfig-frontends/kconfig.txt.gz. (yes it's a whole lore document, go read it)
π Environment variables for 'silentoldconfig'
KCONFIG_NOSILENTUPDATEβ if this variable has a non-blank value, it prevents silent kernel config updates (requires explicit updates). it said "no sneaky edits, ask me first" π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 β this man page was originally compiled by Philippe Thierry (phil at reseau-libre dot com). a legend, honestly. π«Ά
okay that's the whole thing bestie, go forth and configure responsibly πβ¨
sign-off szn: this was the kconfig-conf man page, written by Philippe Thierry, dated October 2017 β mwah, no notes, she ate ππ
π¦ 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