diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 13e683fbd5..c85efc65ff 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -7166,41 +7166,50 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" KERNEL_FEATURES - KERNEL_FEATURES[doc] = "Includes additional metadata from the Yocto Project kernel Git repository. The metadata you add through this variable includes config fragments and features descriptions." + KERNEL_FEATURES[doc] = "Includes additional kernel metadata. The metadata you add through this variable includes config fragments and features descriptions." - Includes additional metadata from the Yocto Project kernel Git repository. - In the OpenEmbedded build system, the default Board Support Packages (BSPs) + Includes additional kernel metadata. + In the OpenEmbedded build system, the default Board Support + Packages (BSPs) Metadata is provided through the KMACHINE - and KBRANCH variables. - You can use the KERNEL_FEATURES variable to further - add metadata for all BSPs. + and + KBRANCH + variables. + You can use the KERNEL_FEATURES + variable from within the kernel recipe or kernel append + file to further add metadata for all BSPs or specific + BSPs. - The metadata you add through this variable includes config fragments and - features descriptions, + The metadata you add through this variable includes config + fragments and features descriptions, which usually includes patches as well as config fragments. - You typically override the KERNEL_FEATURES variable - for a specific machine. - In this way, you can provide validated, but optional, sets of kernel - configurations and features. + You typically override the + KERNEL_FEATURES variable for a + specific machine. + In this way, you can provide validated, but optional, + sets of kernel configurations and features. - For example, the following adds netfilter to all - the Yocto Project kernels and adds sound support to the qemux86 - machine: + For example, the following example from the + linux-yocto-rt_4.12 kernel recipe + adds "netfilter" and "taskstats" features to all BSPs + as well as "virtio" configurations to all QEMU machines. + The last two statements add specific configurations to + targeted machine types: - # Add netfilter to all linux-yocto kernels - KERNEL_FEATURES="features/netfilter/netfilter.scc" - - # Add sound support to the qemux86 machine - KERNEL_FEATURES_append_qemux86=" cfg/sound.scc" + KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" + KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" + KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" + KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" + KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc"