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 | |
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>
-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 | ||