Documentation/kbuild/kconfig.rst

Source file repositories/reference/linux-study-clean/Documentation/kbuild/kconfig.rst

File Facts

System
Linux kernel
Corpus path
Documentation/kbuild/kconfig.rst
Extension
.rst
Size
9902 bytes
Lines
296
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

=================================
Configuration targets and editors
=================================

This file contains some assistance for using ``make *config``.

Use ``make help`` to list all of the possible configuration targets.

The xconfig ('qconf'), menuconfig ('mconf'), and nconfig ('nconf')
programs also have embedded help text.  Be sure to check that for
navigation, search, and other general help text.

The gconfig ('gconf') program has limited help text.


General
=======

New kernel releases often introduce new config symbols.  Often more
important, new kernel releases may rename config symbols.  When
this happens, using a previously working .config file and running
"make oldconfig" won't necessarily produce a working new kernel
for you, so you may find that you need to see what NEW kernel
symbols have been introduced.

To see a list of new config symbols, use::

    cp user/some/old.config .config
    make listnewconfig

and the config program will list any new symbols, one per line.

Alternatively, you can use the brute force method::

    make oldconfig
    scripts/diffconfig .config.old .config | less


Environment variables
=====================

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".

``KCONFIG_DEFCONFIG_LIST``
    This environment variable specifies a list of config files which can be
    used as a base configuration in case the .config does not exist yet.
    Entries in the list are separated with whitespaces to each other, and
    the first one that exists is used.

``KCONFIG_OVERWRITECONFIG``
    If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
    break symlinks when .config is a symlink to somewhere else.

``KCONFIG_WARN_UNKNOWN_SYMBOLS``
    This environment variable makes Kconfig warn about all unrecognized
    symbols in the config input.

``KCONFIG_WERROR``
    If set, Kconfig treats warnings as errors.

``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_``.

Environment variables for ``{allyes/allmod/allno/alldef/rand}config``:

Annotation

Implementation Notes