documentation: Updates for [YOCTO #1717].

Minor edits to the BSP Guide, the Development Manual, and the
Kernel Manual to address [YOCTO #1717], which noted confusion
over the kernel manual when a user was trying to find kernel
configuration information.

The fix for this bug involved several areas.  I had previously
created a new section called "Kernel Configuration" in the kernel
manual and "Configuring the Kernel" in the YP Development manual.
There were several rounds of feedback from Bruce Ashfield.

This commit represents the final touches on the three manuals to
address the bug.

Fixes [YOCTO #1717]

(From yocto-docs rev: de8f85753ad1d6dde66adb6bb4cb09e9528c7cd6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2012-03-13 12:34:30 -06:00 committed by Richard Purdie
parent 6392dffcf8
commit 333f776d6c
3 changed files with 41 additions and 26 deletions

View File

@ -513,7 +513,7 @@
<ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto
Project Files</ulink> at <filename>meta/recipes-kernel/linux</filename>. Project Files</ulink> at <filename>meta/recipes-kernel/linux</filename>.
You can append your specific changes to the kernel recipe by using a You can append your specific changes to the kernel recipe by using a
similarly named append file, which is located in BSP Layer (e.g. similarly named append file, which is located in the BSP Layer (e.g.
the <filename>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> directory). the <filename>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> directory).
</para> </para>
<para> <para>
@ -571,12 +571,17 @@
SRCREV_machine_pn-linux-yocto_crownbay ?= "63c65842a3a74e4bd3128004ac29b5639f16433f" SRCREV_machine_pn-linux-yocto_crownbay ?= "63c65842a3a74e4bd3128004ac29b5639f16433f"
SRCREV_meta_pn-linux-yocto_crownbay ?= "59314a3523e360796419d76d78c6f7d8c5ef2593" SRCREV_meta_pn-linux-yocto_crownbay ?= "59314a3523e360796419d76d78c6f7d8c5ef2593"
</literallayout> </literallayout>
The append file defines <filename>crownbay</filename> as the compatible machine, The append file defines <filename>crownbay</filename> as the compatible machine and
defines the <filename>KMACHINE</filename>, points to some configuration fragments defines the <filename>KMACHINE</filename>.
to use by setting the <filename>KERNEL_FEATURES</filename> variable, and then points The file also points to some configuration fragments to use by setting the
to the specific commits in the Yocto Project Files Git repository and the <filename>KERNEL_FEATURES</filename> variable.
<filename>meta</filename> Git repository branches to identify the exact kernel needed The location for the configuration fragments is the kernel tree itself in the
to build the Crown Bay BSP. <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-build-directory'>Yocto Project Build
Directory</ulink> under <filename>linux/meta</filename>.
Finally, the append file points to the specific commits in the
<ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto Project Files</ulink> Git
repository and the <filename>meta</filename> Git repository branches to identify the
exact kernel needed to build the Crown Bay BSP.
</para> </para>
<para> <para>
One thing missing in this particular BSP, which you will typically need when One thing missing in this particular BSP, which you will typically need when
@ -591,14 +596,14 @@
</para> </para>
<para> <para>
For example, suppose you had a set of configuration options in a file called For example, suppose you had a set of configuration options in a file called
<filename>defconfig</filename>. <filename>myconfig</filename>.
If you put that file inside a directory named If you put that file inside a directory named
<filename>/linux-yocto</filename> and then added <filename>/linux-yocto</filename> and then added
a <filename>SRC_URI</filename> statement such as the following to the append file, a <filename>SRC_URI</filename> statement such as the following to the append file,
those configuration those configuration
options will be picked up and applied when the kernel is built. options will be picked up and applied when the kernel is built.
<literallayout class='monospaced'> <literallayout class='monospaced'>
SRC_URI += "file://defconfig" SRC_URI += "file://myconfig"
</literallayout> </literallayout>
</para> </para>
<para> <para>
@ -608,30 +613,40 @@
into their own files and add those by using a <filename>SRC_URI</filename> statement like the into their own files and add those by using a <filename>SRC_URI</filename> statement like the
following in your append file: following in your append file:
<literallayout class='monospaced'> <literallayout class='monospaced'>
SRC_URI += "file://defconfig \ SRC_URI += "file://myconfig \
file://eth.cfg \ file://eth.cfg \
file://gfx.cfg" file://gfx.cfg"
</literallayout> </literallayout>
</para> </para>
<para> <para>
The <filename>FILESEXTRAPATHS</filename> variable is in boilerplate form here The <filename>FILESEXTRAPATHS</filename> variable is in boilerplate form in the
in order to make it easy to do that. previous example in order to make it easy to do that.
It basically allows those configuration files to be found by the build process. This variable must be in your layer or BitBake will not find the patches or
configurations even if you have them in your <filename>SRC_URI</filename>.
The <filename>FILESEXTRAPATHS</filename> variable enables the build process to
find those configuration files.
</para> </para>
<note> <note>
<para> <para>
Other methods exist to accomplish grouping and defining configuration options. Other methods exist to accomplish grouping and defining configuration options.
For example, you could directly add configuration options to the Yocto kernel For example, if you are working with a local clone of the kernel repository,
you could checkout the kernel's <filename>meta</filename> branch, make your changes,
and then push the changes to the local bare clone of the kernel.
The result is that you directly add configuration options to the Yocto kernel
<filename>meta</filename> branch for your BSP. <filename>meta</filename> branch for your BSP.
The configuration options will likely end up in that location anyway if the BSP gets The configuration options will likely end up in that location anyway if the BSP gets
added to the Yocto Project. added to the Yocto Project.
For an example showing how to change the BSP configuration, see the For an example showing how to change the BSP configuration, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-bsp-configuration'>Changing the BSP Configuration</ulink>" section "<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-bsp-configuration'>Changing the BSP Configuration</ulink>"
in the Yocto Project Development Manual.</para> section in the Yocto Project Development Manual.
For a better understanding of working with a local clone of the kernel repository
and a local bare clone of the kernel, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-the-kernel-source-code'>Modifying the Kernel
Source Code</ulink>" section also in the Yocto Project Development Manual.</para>
<para> <para>
In general, however, the Yocto Project maintainers take care of moving the In general, however, the Yocto Project maintainers take care of moving the
<filename>SRC_URI</filename>-specified <filename>SRC_URI</filename>-specified
configuration options to the <filename>meta</filename> branch. configuration options to the kernel's <filename>meta</filename> branch.
Not only is it easier for BSP developers to not have to worry about putting those Not only is it easier for BSP developers to not have to worry about putting those
configurations in the branch, but having the maintainers do it allows them to apply configurations in the branch, but having the maintainers do it allows them to apply
'global' knowledge about the kinds of common configuration options multiple BSPs in 'global' knowledge about the kinds of common configuration options multiple BSPs in

View File

@ -1722,8 +1722,8 @@ so that there are some definite steps on how to do this. I need more detail her
<para> <para>
Where do you put your configuration files? Where do you put your configuration files?
You can place these configuration files in the same area to which the You can place these configuration files in the same area pointed to by
<filename>SRC_URI</filename> points. <filename>SRC_URI</filename>.
The Yocto Project build process will pick up the configuration and add it to the The Yocto Project build process will pick up the configuration and add it to the
kernel's configuration. kernel's configuration.
For example, assume you add the following to your For example, assume you add the following to your
@ -1731,10 +1731,10 @@ so that there are some definite steps on how to do this. I need more detail her
<literallayout class='monospaced'> <literallayout class='monospaced'>
file://my_smp.cfg file://my_smp.cfg
</literallayout> </literallayout>
You would put the config fragment file <filename>my_smp.cfg</filename> in your You would put the config fragment file <filename>my_smp.cfg</filename> in a
layer right beneath the directory containing the sub-directory with the same root name (<filename>linux-yocto</filename>)
<filename>linux-yocto_3.0.bbappend</filename> file and the build system beneath the directory that contains your <filename>linux-yocto_3.0.bbappend</filename>
will pick up and apply the fragment. file and the build system will pick up and apply the fragment.
</para> </para>
</section> </section>

View File

@ -318,16 +318,16 @@
<para> <para>
Conceptually, Linux Yocto kernel configuration occurs similarly to that needed for any Conceptually, Linux Yocto kernel configuration occurs similarly to that needed for any
Linux kernel. Linux kernel.
The Linux Yocto kernel build process uses a <filename>.config</filename>, which The Linux Yocto kernel build process uses a <filename>.config</filename> file, which
is created through the Linux Kernel Coinfiguration (LKC) tool. is created through the Linux Kernel Coinfiguration (LKC) tool.
You can directly set various configurations in the You can directly set various configurations in the
<filename>.config</filename> file by using the <filename>menuconfig</filename> <filename>.config</filename> file by using the <filename>menuconfig</filename>
tool as built by BitBake. tool as built by BitBake.
You can also affect the configurations in the file by using configuration fragments. You can also define configurations in the file by using configuration fragments.
<note> <note>
It is not recommended that you edit the <filename>.config</filename> file directly. It is not recommended that you edit the <filename>.config</filename> file directly.
</note> </note>
Here is are some brief descriptions of the ways you can affect the Here are some brief descriptions of the ways you can affect the
<filename>.config</filename> file: <filename>.config</filename> file:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis>The <filename>menuconfig</filename> Tool:</emphasis> <listitem><para><emphasis>The <filename>menuconfig</filename> Tool:</emphasis>