diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-02-07 15:47:22 -0600 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-08 12:07:52 -0800 |
| commit | 70ae82a1612bb8c723088d248ddc254c6aa56570 (patch) | |
| tree | 3fc17e344ac518b40cc310029ac90bbbccff0197 /documentation | |
| parent | 3ecda3fb021221013a82f1bbf1528a2fa2519247 (diff) | |
| download | poky-70ae82a1612bb8c723088d248ddc254c6aa56570.tar.gz | |
documentation/kernel-manual/kernel-concepts.xml: New kernel section
This section is the first attempt at a new, high-level discussion
of Linux Yocto Kernel configuration. The section is supposed to
introduce the concepts only and leave the "How to" stuff for other
areas of the documentation. I have thrown this section out to the
Yocto Projects Discussion list for feedback. It will change.
(From yocto-docs rev: 8d0eabe88e50d1a16fda4b845267c4ee240ce540)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/kernel-manual/kernel-concepts.xml | 110 |
1 files changed, 49 insertions, 61 deletions
diff --git a/documentation/kernel-manual/kernel-concepts.xml b/documentation/kernel-manual/kernel-concepts.xml index 9a599f2a8c..27b32098ec 100644 --- a/documentation/kernel-manual/kernel-concepts.xml +++ b/documentation/kernel-manual/kernel-concepts.xml | |||
| @@ -306,75 +306,63 @@ | |||
| 306 | <section id='kernel-configuration'> | 306 | <section id='kernel-configuration'> |
| 307 | <title>Kernel Configuration</title> | 307 | <title>Kernel Configuration</title> |
| 308 | <para> | 308 | <para> |
| 309 | Kernel configuration, along with kernel features, defines how a kernel image is | 309 | Kernel configuration, along with kernel features, defines how a Linux Yocto |
| 310 | built. | 310 | kernel image is built. |
| 311 | Through configuration settings, you can customize a Linux Yocto kernel to be | 311 | Through configuration settings, you can customize a Linux Yocto kernel to be |
| 312 | specific to particular hardware. | 312 | specific to particular hardware. |
| 313 | For example, you can specify sound support or networking support. | 313 | For example, you can specify sound support or networking support. |
| 314 | This section describes basic concepts behind Kernel configuration within the | 314 | This section describes basic concepts behind Kernel configuration within the |
| 315 | Yocto Project. | 315 | Yocto Project and references you to other areas for specific configuration |
| 316 | applications. | ||
| 316 | </para> | 317 | </para> |
| 317 | 318 | ||
| 318 | <para> | 319 | <para> |
| 319 | WRITER NOTES: | 320 | Conceptually, Linux Yocto kernel configuration occurs similarly to that needed for any |
| 320 | </para> | 321 | Linux kernel. |
| 321 | 322 | The Linux Yocto kernel build process uses a <filename>.config</filename>, which | |
| 322 | <para> | 323 | is created through the Linux Kernel Coinfiguration (LKC) tool. |
| 323 | A package consists of tasks and BitBake, in most cases, behaves by fetching, unpacking, | 324 | You can directly set various configurations in the |
| 324 | patching, configuring, compiling, installing, packaging, writing, and building. | 325 | <filename>.config</filename> file by using the <filename>menuconfig</filename> |
| 325 | Configuration is part of the standard BitBake process. | 326 | tool as built by BitBake. |
| 326 | 327 | You can also affect the configurations in the file by using configuration fragments. | |
| 327 | <para> | 328 | <note> |
| 328 | Explain how <filename>.config</filename> is used when the kernel image is built. | 329 | It is not recommended that you edit the <filename>.config</filename> file directly. |
| 329 | Describe the role of <filename>menuconfig</filename> regarding the | 330 | </note> |
| 330 | <filename>.config</filename>. | 331 | Here is are some brief descriptions of the ways you can affect the |
| 331 | Locate the <filename>.config</filename> for the user. | 332 | <filename>.config</filename> file: |
| 332 | Not recommended to edit the <filename>.config</filename> file directly. | 333 | <itemizedlist> |
| 333 | You can use BitBake to build and invoke the <filename>menuconfig</filename> | 334 | <listitem><para><emphasis>The <filename>menuconfig</filename> Tool:</emphasis> |
| 334 | tool. | 335 | One of many front-ends that allows you to define kernel configurations. |
| 335 | </para> | 336 | Some others are <filename>make config</filename>, |
| 336 | 337 | <filename>make nconfig</filename>, and <filename>make gconfig</filename>. | |
| 337 | <para> | 338 | In the Yocto Project environment, you must use BitBake to build the |
| 338 | Introduce the configuration fragment. | 339 | <filename>menuconfig</filename> tool before you can use it to define |
| 339 | Step through the life of a configuration fragment from idea or need to | 340 | configurations: |
| 340 | change something in the kernel to how it is used when the kernel image is built. | 341 | <literallayout class='monospaced'> |
| 341 | Describe how configuration fragments are created and where they live. | ||
| 342 | Make sure the syntax of configuration fragments is understood. | ||
| 343 | </para> | ||
| 344 | |||
| 345 | <para> | ||
| 346 | Talk in general how the user creates a configuration fragment. | ||
| 347 | Point to example B.2 of the YP Development Manual as a way to use | ||
| 348 | <filename>menuconfig</filename>. | ||
| 349 | </para> | ||
| 350 | |||
| 351 | <para> | ||
| 352 | The tool <filename>menuconfig</filename> allows you to choose the features of the | ||
| 353 | Linux Yocto kernel that will be compiled. | ||
| 354 | This tool is a convenient method to alter the <filename>.config</filename> file. | ||
| 355 | You can use a simple interface to scroll through kernel features and disable | ||
| 356 | and enable configruation variables. | ||
| 357 | When you save your changes, the contents of the <filename>.config</filename> | ||
| 358 | are altered. | ||
| 359 | You can get general information on <filename>menuconfig</filename> at | ||
| 360 | <ulink url='http://en.wikipedia.org/wiki/Menuconfig'></ulink>. | ||
| 361 | </para> | ||
| 362 | |||
| 363 | <para> | ||
| 364 | The Yocto Project employs <filename>menuconfig</filename> by invoking it through | ||
| 365 | BitBake as follows after making sure the environment setup script has been sourced: | ||
| 366 | <literallayout class='monospaced'> | ||
| 367 | $ bitbake linux-yocto -c menuconfig | 342 | $ bitbake linux-yocto -c menuconfig |
| 368 | </literallayout> | 343 | </literallayout> |
| 369 | You can see how <filename>menuconfig</filename> is used to change a simple | 344 | After the tool is built, you can interact with it normally. |
| 370 | kernel configuration in the | 345 | You can see how <filename>menuconfig</filename> is used to change a simple |
| 371 | "<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#changing-the-config-smp-configuration-using-menuconfig'>Changing the <filename>CONFIG_SMP</filename> | 346 | kernel configuration in the |
| 372 | Configuration Using <filename>menuconfig</filename></ulink>" section of | 347 | "<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#changing-the-config-smp-configuration-using-menuconfig'>Changing the <filename>CONFIG_SMP</filename> Configuration Using <filename>menuconfig</filename></ulink>" |
| 373 | The Yocto Project Development Manual. | 348 | section of The Yocto Project Development Manual. |
| 374 | </para> | 349 | For general information on <filename>menuconfig</filename>, see |
| 375 | 350 | <ulink url='http://en.wikipedia.org/wiki/Menuconfig'></ulink>. | |
| 376 | <para> | 351 | </para></listitem> |
| 377 | END WRITER NOTES | 352 | <listitem><para><emphasis>Configuration Fragments:</emphasis> A file with a |
| 353 | list of kernel options just as they would appear syntactically in the | ||
| 354 | <filename>.config</filename> file. | ||
| 355 | Configuration fragments are typically logical groupings and are assembled | ||
| 356 | by the Yocto Project build system to produce input used by the LKC | ||
| 357 | that ultimately generates the <filename>.config</filename> file.</para> | ||
| 358 | <para>The | ||
| 359 | <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-KERNEL_FEATURES'>KERNEL_FEATURES</ulink></filename> | ||
| 360 | variable can be used to list configuration fragments. | ||
| 361 | For further discussion on applying configuration fragments, see the | ||
| 362 | "<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#linux-kernel-configuration'>Linux Kernel Configuration</ulink>" | ||
| 363 | section in the Yocto Project Board Support Package (BSP) Guide. | ||
| 364 | </para></listitem> | ||
| 365 | </itemizedlist> | ||
| 378 | </para> | 366 | </para> |
| 379 | </section> | 367 | </section> |
| 380 | 368 | ||
