From 53bade89482d46ca30ab29330abd7490b46e532c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 4 Apr 2016 13:10:27 -0700 Subject: dev-manual: Added new section describing hardware and non-hardware config Fixes [YOCTO #5092] Added a new subsection to the "Configuring the Kernel" section to describe the part of the configuration audit phase that deals with non-hardware and hardware options. (From yocto-docs rev: 2545c3f2cf45ffcc9bf9f388d929c8242b74b011) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) (limited to 'documentation/dev-manual') diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 204ef0ef0f..5e6dafd5b6 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5133,6 +5133,112 @@ Yocto kernel. + +
+ Determining Hardware and Non-Hardware Features for the Kernel Configuration Audit Phase + + + This section describes part of the kernel configuration audit + phase that most developers can ignore. + During this part of the audit phase, the contents of the final + .config file are compared against the + fragments specified by the system. + These fragments can be system fragments, distro fragments, + or user specified configuration elements. + Regardless of their origin, the OpenEmbedded build system + warns the user if a specific option is not included in the + final kernel configuration. + + + + In order to not overwhelm the user with configuration warnings, + by default the system only reports on missing "hardware" + options because a missing hardware option could mean a boot + failure or that important hardware is not available. + + + + To determine whether or not a given option is "hardware" or + "non-hardware", the kernel Metadata contains files that + classify individual or groups of options as either hardware + or non-hardware. + To better show this, consider a situation where the + Yocto Project kernel cache contains the following files: + + kernel-cache/features/drm-psb/hardware.cfg + kernel-cache/features/kgdb/hardware.cfg + kernel-cache/ktypes/base/hardware.cfg + kernel-cache/bsp/mti-malta32/hardware.cfg + kernel-cache/bsp/fsl-mpc8315e-rdb/hardware.cfg + kernel-cache/bsp/qemu-ppc32/hardware.cfg + kernel-cache/bsp/qemuarma9/hardware.cfg + kernel-cache/bsp/mti-malta64/hardware.cfg + kernel-cache/bsp/arm-versatile-926ejs/hardware.cfg + kernel-cache/bsp/common-pc/hardware.cfg + kernel-cache/bsp/common-pc-64/hardware.cfg + kernel-cache/features/rfkill/non-hardware.cfg + kernel-cache/ktypes/base/non-hardware.cfg + kernel-cache/features/aufs/non-hardware.kcf + kernel-cache/features/ocf/non-hardware.kcf + kernel-cache/ktypes/base/non-hardware.kcf + kernel-cache/ktypes/base/hardware.kcf + kernel-cache/bsp/qemu-ppc32/hardware.kcf + + The following list provides explanations for the various + files: + + hardware.kcf: + Specifies a list of kernel Kconfig files that contain + hardware options only. + + non-hardware.kcf: + Specifies a list of kernel Kconfig files that contain + non-hardware options only. + + hardware.cfg: + Specifies a list of kernel + CONFIG_ options that are hardware, + regardless of whether or not they are within a Kconfig + file specified by a hardware or non-hardware + Kconfig file (i.e. hardware.kcf or + non-hardware.kcf). + + non-hardware.cfg: + Specifies a list of kernel + CONFIG_ options that are + not hardware, regardless of whether or not they are + within a Kconfig file specified by a hardware or + non-hardware Kconfig file (i.e. + hardware.kcf or + non-hardware.kcf). + + + Here is a specific example using the + kernel-cache/bsp/mti-malta32/hardware.cfg: + + CONFIG_SERIAL_8250 + CONFIG_SERIAL_8250_CONSOLE + CONFIG_SERIAL_8250_NR_UARTS + CONFIG_SERIAL_8250_PCI + CONFIG_SERIAL_CORE + CONFIG_SERIAL_CORE_CONSOLE + CONFIG_VGA_ARB + + The kernel configuration audit automatically detects these + files (hence the names must be exactly the ones discussed here), + and uses them as inputs when generating warnings about the + final .config file. + + + + A user-specified kernel Metadata repository, or recipe space + feature, can use these same files to classify options that are + found within its .cfg files as hardware + or non-hardware, to prevent the OpenEmbedded build system from + producing an error or warning when an option is not in the + final .config file. + +
-- cgit 1.2.3-korg