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
Project Files</ulink> at <filename>meta/recipes-kernel/linux</filename>.
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).
</para>
<para>
@ -571,12 +571,17 @@
SRCREV_machine_pn-linux-yocto_crownbay ?= "63c65842a3a74e4bd3128004ac29b5639f16433f"
SRCREV_meta_pn-linux-yocto_crownbay ?= "59314a3523e360796419d76d78c6f7d8c5ef2593"
</literallayout>
The append file defines <filename>crownbay</filename> as the compatible machine,
defines the <filename>KMACHINE</filename>, points to some configuration fragments
to use by setting the <filename>KERNEL_FEATURES</filename> variable, and then points
to the specific commits in the Yocto Project Files Git repository and the
<filename>meta</filename> Git repository branches to identify the exact kernel needed
to build the Crown Bay BSP.
The append file defines <filename>crownbay</filename> as the compatible machine and
defines the <filename>KMACHINE</filename>.
The file also points to some configuration fragments to use by setting the
<filename>KERNEL_FEATURES</filename> variable.
The location for the configuration fragments is the kernel tree itself in the
<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>
One thing missing in this particular BSP, which you will typically need when
@ -591,14 +596,14 @@
</para>
<para>
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
<filename>/linux-yocto</filename> and then added
a <filename>SRC_URI</filename> statement such as the following to the append file,
those configuration
options will be picked up and applied when the kernel is built.
<literallayout class='monospaced'>
SRC_URI += "file://defconfig"
SRC_URI += "file://myconfig"
</literallayout>
</para>
<para>
@ -608,30 +613,40 @@
into their own files and add those by using a <filename>SRC_URI</filename> statement like the
following in your append file:
<literallayout class='monospaced'>
SRC_URI += "file://defconfig \
SRC_URI += "file://myconfig \
file://eth.cfg \
file://gfx.cfg"
</literallayout>
</para>
<para>
The <filename>FILESEXTRAPATHS</filename> variable is in boilerplate form here
in order to make it easy to do that.
It basically allows those configuration files to be found by the build process.
The <filename>FILESEXTRAPATHS</filename> variable is in boilerplate form in the
previous example in order to make it easy to do that.
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>
<note>
<para>
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.
The configuration options will likely end up in that location anyway if the BSP gets
added to the Yocto Project.
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
in the Yocto Project Development Manual.</para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-bsp-configuration'>Changing the BSP Configuration</ulink>"
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>
In general, however, the Yocto Project maintainers take care of moving the
<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
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

View File

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

View File

@ -318,16 +318,16 @@
<para>
Conceptually, Linux Yocto kernel configuration occurs similarly to that needed for any
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.
You can directly set various configurations in the
<filename>.config</filename> file by using the <filename>menuconfig</filename>
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>
It is not recommended that you edit the <filename>.config</filename> file directly.
</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:
<itemizedlist>
<listitem><para><emphasis>The <filename>menuconfig</filename> Tool:</emphasis>