diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2016-04-04 13:10:27 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-06 23:11:58 +0100 |
commit | 53bade89482d46ca30ab29330abd7490b46e532c (patch) | |
tree | 18c82cbff15b52d40fbb0488e29db1b2841e3fac /documentation | |
parent | 763ae4e191e09c60dd35faf569f56781515273ba (diff) | |
download | poky-53bade89482d46ca30ab29330abd7490b46e532c.tar.gz |
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 <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 106 |
1 files changed, 106 insertions, 0 deletions
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 @@ | |||
5133 | Yocto kernel. | 5133 | Yocto kernel. |
5134 | </para> | 5134 | </para> |
5135 | </section> | 5135 | </section> |
5136 | |||
5137 | <section id='determining-hardware-and-non-hardware-features-for-the-kernel-configuration-audit-phase'> | ||
5138 | <title>Determining Hardware and Non-Hardware Features for the Kernel Configuration Audit Phase</title> | ||
5139 | |||
5140 | <para> | ||
5141 | This section describes part of the kernel configuration audit | ||
5142 | phase that most developers can ignore. | ||
5143 | During this part of the audit phase, the contents of the final | ||
5144 | <filename>.config</filename> file are compared against the | ||
5145 | fragments specified by the system. | ||
5146 | These fragments can be system fragments, distro fragments, | ||
5147 | or user specified configuration elements. | ||
5148 | Regardless of their origin, the OpenEmbedded build system | ||
5149 | warns the user if a specific option is not included in the | ||
5150 | final kernel configuration. | ||
5151 | </para> | ||
5152 | |||
5153 | <para> | ||
5154 | In order to not overwhelm the user with configuration warnings, | ||
5155 | by default the system only reports on missing "hardware" | ||
5156 | options because a missing hardware option could mean a boot | ||
5157 | failure or that important hardware is not available. | ||
5158 | </para> | ||
5159 | |||
5160 | <para> | ||
5161 | To determine whether or not a given option is "hardware" or | ||
5162 | "non-hardware", the kernel Metadata contains files that | ||
5163 | classify individual or groups of options as either hardware | ||
5164 | or non-hardware. | ||
5165 | To better show this, consider a situation where the | ||
5166 | Yocto Project kernel cache contains the following files: | ||
5167 | <literallayout class='monospaced'> | ||
5168 | kernel-cache/features/drm-psb/hardware.cfg | ||
5169 | kernel-cache/features/kgdb/hardware.cfg | ||
5170 | kernel-cache/ktypes/base/hardware.cfg | ||
5171 | kernel-cache/bsp/mti-malta32/hardware.cfg | ||
5172 | kernel-cache/bsp/fsl-mpc8315e-rdb/hardware.cfg | ||
5173 | kernel-cache/bsp/qemu-ppc32/hardware.cfg | ||
5174 | kernel-cache/bsp/qemuarma9/hardware.cfg | ||
5175 | kernel-cache/bsp/mti-malta64/hardware.cfg | ||
5176 | kernel-cache/bsp/arm-versatile-926ejs/hardware.cfg | ||
5177 | kernel-cache/bsp/common-pc/hardware.cfg | ||
5178 | kernel-cache/bsp/common-pc-64/hardware.cfg | ||
5179 | kernel-cache/features/rfkill/non-hardware.cfg | ||
5180 | kernel-cache/ktypes/base/non-hardware.cfg | ||
5181 | kernel-cache/features/aufs/non-hardware.kcf | ||
5182 | kernel-cache/features/ocf/non-hardware.kcf | ||
5183 | kernel-cache/ktypes/base/non-hardware.kcf | ||
5184 | kernel-cache/ktypes/base/hardware.kcf | ||
5185 | kernel-cache/bsp/qemu-ppc32/hardware.kcf | ||
5186 | </literallayout> | ||
5187 | The following list provides explanations for the various | ||
5188 | files: | ||
5189 | <itemizedlist> | ||
5190 | <listitem><para><filename>hardware.kcf</filename>: | ||
5191 | Specifies a list of kernel Kconfig files that contain | ||
5192 | hardware options only. | ||
5193 | </para></listitem> | ||
5194 | <listitem><para><filename>non-hardware.kcf</filename>: | ||
5195 | Specifies a list of kernel Kconfig files that contain | ||
5196 | non-hardware options only. | ||
5197 | </para></listitem> | ||
5198 | <listitem><para><filename>hardware.cfg</filename>: | ||
5199 | Specifies a list of kernel | ||
5200 | <filename>CONFIG_</filename> options that are hardware, | ||
5201 | regardless of whether or not they are within a Kconfig | ||
5202 | file specified by a hardware or non-hardware | ||
5203 | Kconfig file (i.e. <filename>hardware.kcf</filename> or | ||
5204 | <filename>non-hardware.kcf</filename>). | ||
5205 | </para></listitem> | ||
5206 | <listitem><para><filename>non-hardware.cfg</filename>: | ||
5207 | Specifies a list of kernel | ||
5208 | <filename>CONFIG_</filename> options that are | ||
5209 | not hardware, regardless of whether or not they are | ||
5210 | within a Kconfig file specified by a hardware or | ||
5211 | non-hardware Kconfig file (i.e. | ||
5212 | <filename>hardware.kcf</filename> or | ||
5213 | <filename>non-hardware.kcf</filename>). | ||
5214 | </para></listitem> | ||
5215 | </itemizedlist> | ||
5216 | Here is a specific example using the | ||
5217 | <filename>kernel-cache/bsp/mti-malta32/hardware.cfg</filename>: | ||
5218 | <literallayout class='monospaced'> | ||
5219 | CONFIG_SERIAL_8250 | ||
5220 | CONFIG_SERIAL_8250_CONSOLE | ||
5221 | CONFIG_SERIAL_8250_NR_UARTS | ||
5222 | CONFIG_SERIAL_8250_PCI | ||
5223 | CONFIG_SERIAL_CORE | ||
5224 | CONFIG_SERIAL_CORE_CONSOLE | ||
5225 | CONFIG_VGA_ARB | ||
5226 | </literallayout> | ||
5227 | The kernel configuration audit automatically detects these | ||
5228 | files (hence the names must be exactly the ones discussed here), | ||
5229 | and uses them as inputs when generating warnings about the | ||
5230 | final <filename>.config</filename> file. | ||
5231 | </para> | ||
5232 | |||
5233 | <para> | ||
5234 | A user-specified kernel Metadata repository, or recipe space | ||
5235 | feature, can use these same files to classify options that are | ||
5236 | found within its <filename>.cfg</filename> files as hardware | ||
5237 | or non-hardware, to prevent the OpenEmbedded build system from | ||
5238 | producing an error or warning when an option is not in the | ||
5239 | final <filename>.config</filename> file. | ||
5240 | </para> | ||
5241 | </section> | ||
5136 | </section> | 5242 | </section> |
5137 | 5243 | ||
5138 | <section id="patching-the-kernel"> | 5244 | <section id="patching-the-kernel"> |