kernel-dev: document KCONFIG_MODE

(From yocto-docs rev: 12aa6f9c6af68ea03fbb056677213b00d693cf5f)

Signed-off-by: Daniel Wagenknecht <dwagenknecht@emlix.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Daniel Wagenknecht
2021-05-05 10:57:50 +02:00
committed by Richard Purdie
parent 0fc54213c2
commit e145129aaa
2 changed files with 47 additions and 0 deletions

View File

@@ -650,6 +650,15 @@ extends the :term:`FILESPATH`
variable (search directories) to include the ``${PN}`` directory you
created to hold the configuration changes.
You can also use a regular ``defconfig`` file, as generated by the
:ref:`ref-tasks-savedefconfig`
task instead of a complete ``.config`` file. This only specifies the
non-default configuration values. You need to additionally set
:term:`KCONFIG_MODE`
in the linux-yocto ``.bbappend`` file in your layer::
KCONFIG_MODE = "alldefconfig"
.. note::
The build system applies the configurations from the ``defconfig``

View File

@@ -3745,6 +3745,44 @@ system and gives an overview of their function and contents.
":ref:`kernel-dev/common:using an "in-tree" \`\`defconfig\`\` file`"
section in the Yocto Project Linux Kernel Development Manual.
:term:`KCONFIG_MODE`
When used with the :ref:`kernel-yocto <ref-classes-kernel-yocto>`
class, specifies the kernel configuration values to use for options
not specified in the provided ``defconfig`` file. Valid options are::
KCONFIG_MODE = "alldefconfig"
KCONFIG_MODE = "allnoconfig"
In ``alldefconfig`` mode the options not explicitly specified will be
assigned their Kconfig default value. In ``allnoconfig`` mode the
options not explicitly specified will be disabled in the kernel
config.
In case ``KCONFIG_MODE`` is not set the behaviour will depend on where
the ``defconfig`` file is coming from. An "in-tree" ``defconfig`` file
will be handled in ``alldefconfig`` mode, a ``defconfig`` file placed
in ``${WORKDIR}`` through a meta-layer will be handled in
``allnoconfig`` mode.
An "in-tree" ``defconfig`` file can be selected via the
:term:`KBUILD_DEFCONFIG` variable. ``KCONFIG_MODE`` does not need to
be explicitly set.
A ``defconfig`` file compatible with ``allnoconfig`` mode can be
generated by copying the ``.config`` file from a working Linux kernel
build, renaming it to ``defconfig`` and placing it into the Linux
kernel ``${WORKDIR}`` through your meta-layer. ``KCONFIG_MODE`` does
not need to be explicitly set.
A ``defconfig`` file compatible with ``alldefconfig`` mode can be
generated using the
:ref:`ref-tasks-savedefconfig`
task and placed into the Linux kernel ``${WORKDIR}`` through your
meta-layer. Explicitely set ``KCONFIG_MODE``::
KCONFIG_MODE = "alldefconfig"
:term:`KERNEL_ALT_IMAGETYPE`
Specifies an alternate kernel image type for creation in addition to
the kernel image type specified using the