aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-kernel-appendix.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/dev-manual/dev-manual-kernel-appendix.xml')
-rw-r--r--documentation/dev-manual/dev-manual-kernel-appendix.xml92
1 files changed, 37 insertions, 55 deletions
diff --git a/documentation/dev-manual/dev-manual-kernel-appendix.xml b/documentation/dev-manual/dev-manual-kernel-appendix.xml
index 0f69ef1067..04db02a7a6 100644
--- a/documentation/dev-manual/dev-manual-kernel-appendix.xml
+++ b/documentation/dev-manual/dev-manual-kernel-appendix.xml
@@ -12,17 +12,6 @@
or even altering the source code itself.
This appendix presents simple examples that modify the kernel source code,
change the kernel configuration, and add a kernel source recipe.
-<!-- [WRITER'S NOTE: I might want to work in information about applying a local
- change to a kernel layer and also pushing a change upstream into the tree]
- <orderedlist>
- <listitem><para>Iteratively determine and set kernel configurations and make
- kernel recipe changes.</para></listitem>
- <listitem><para>Apply your configuration changes to your local kernel layer.
- </para></listitem>
- <listitem><para>Push your configuration and recipe changes upstream into the
- Yocto Project source repositories to make them available to the community.
- </para></listitem>
- </orderedlist> -->
</para>
<section id='modifying-the-kernel-source-code'>
@@ -45,18 +34,17 @@
Briefly, you need the following:
<itemizedlist>
<listitem><para>A local
- <link linkend='yocto-project-files'>Yocto Project Files</link>
- Git repository</para></listitem>
- <listitem><para>The
+ <link linkend='source-directory'>source directory</link> for the
+ poky Git repository</para></listitem>
+ <listitem><para>Local copies of the
<link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
- Git repository placed within the local Yocto Project files Git
- repository</para></listitem>
+ Git repository placed within the source directory.</para></listitem>
<listitem><para>A bare clone of the
<link linkend='local-kernel-files'>Linux Yocto Kernel</link> upstream Git
repository to which you want to push your modifications.
</para></listitem>
<listitem><para>A copy of that bare clone in which you make your source
- modifcations</para></listitem>
+ modifications</para></listitem>
</itemizedlist>
</para>
@@ -78,18 +66,19 @@
<para>
Here is a brief description of the four areas:
<itemizedlist>
- <listitem><para><emphasis>Local Yocto Project Files Git Repository:</emphasis>
- This area contains all the metadata that supports building images in the
- Yocto Project build environment - the local Yocto Project files.
- In this example, the local Yocto Project files Git repository also
+ <listitem><para><emphasis>Local Source Directory:</emphasis>
+ This area contains all the metadata that supports building images
+ using the OpenEmbedded build system.
+ In this example, the source directory also
contains the build directory, which contains the configuration directory
that lets you control the build.
- In this example, the repository also contains the
+ Also in this example, the source directory contains local copies of the
<filename>poky-extras</filename> Git repository.</para>
<para>See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
- for information on how to get these files.</para></listitem>
- <listitem><para><emphasis><filename>poky-extras</filename> Git Repository:</emphasis>
+ for information on how to get these files on your local system.</para></listitem>
+ <listitem><para><emphasis>Local copies of the<filename>poky-extras</filename>
+ Git Repository:</emphasis>
This area contains the <filename>meta-kernel-dev</filename> layer,
which is where you make changes that append the kernel build recipes.
You edit <filename>.bbappend</filename> files to locate your
@@ -133,23 +122,23 @@
</section>
<section id='setting-up-the-local-yocto-project-files-git-repository'>
- <title>Setting Up the Local Yocto Project Files Git Repository</title>
+ <title>Setting Up the Local Source Directory</title>
<para>
- You can get the local Yocto Project files through tarball extraction or by
+ You can set up the source directory through tarball extraction or by
cloning the <filename>poky</filename> Git repository.
This example uses <filename>poky</filename> as the root directory of the
- local Yocto Project files Git repository.
+ local source directory.
See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.
</para>
<para>
- Once you have the repository set up,
+ Once you have source directory set up,
you have many development branches from which you can work.
- From inside the repository you can see the branch names and the tag names used
- in the Git repository using either of the following two commands:
+ From inside the local repository you can see the branch names and the tag names used
+ in the upstream Git repository by using either of the following commands:
<literallayout class='monospaced'>
$ cd poky
$ git branch -a
@@ -168,15 +157,15 @@
</section>
<section id='setting-up-the-poky-extras-git-repository'>
- <title>Setting Up the poky-extras Git Repository</title>
+ <title>Setting Up the Local poky-extras Git Repository</title>
<para>
- This example places the <filename>poky-extras</filename> Git repository inside
- of <filename>poky</filename>.
- See the bulleted item
- "<link linkend='poky-extras-repo'>The
+ This example creates a local copy of the <filename>poky-extras</filename> Git
+ repository inside the <filename>poky</filename> source directory.
+ See the bulleted item "<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link>"
- for information on how to get the <filename>poky-extras</filename> repository.
+ for information on how to set up a local copy of the
+ <filename>poky-extras</filename> repository.
</para>
<para>
@@ -369,7 +358,7 @@
<para>
Once the source code has been modified, you need to use Git to push the changes to
the bare clone.
- If you do not push the changes, then the Yocto Project build system will not pick
+ If you do not push the changes, then the OpenEmbedded build system will not pick
up the changed source files.
</para>
@@ -386,7 +375,7 @@
<para>
At this point, the source has been changed and pushed.
- The example now defines some variables used by the Yocto Project build system
+ The example now defines some variables used by the OpenEmbedded build system
to locate your kernel source.
You essentially need to identify where to find the kernel recipe and the changed source code.
You also need to be sure some basic configurations are in place that identify the
@@ -447,12 +436,6 @@
<literallayout class='monospaced'>
KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git"
</literallayout></para></listitem>
-<!-- <listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
- <filename>linux-yocto_3.2.bbappend</filename> file, you need to specify
- the kernel machine with the following statement:
- <literallayout class='monospaced'>
- KMACHINE_qemux86 = "standard/default/common-pc/base"
- </literallayout></para></listitem> -->
</itemizedlist>
</para>
@@ -494,7 +477,7 @@
$ bitbake -c cleanall linux-yocto
</literallayout></para>
<para><note>Never remove any files by hand from the <filename>tmp/deploy</filename>
- directory insided the local Yocto Project files build directory.
+ directory insided the build directory.
Always use the BitBake <filename>cleanall</filename> task to clear
out previous builds.</note></para></listitem>
<listitem><para>Next, build the kernel image using this command:
@@ -539,7 +522,7 @@
<para>
If you took the time to work through the example that modifies the kernel source code
in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
- Code</link>" you should already have the Yocto Project files set up on your
+ Code</link>" you should already have the source directory set up on your
host machine.
If this is the case, go to the next section, which is titled
"<link linkend='examining-the-default-config-smp-behavior'>Examining the Default
@@ -548,21 +531,21 @@
</para>
<para>
- If you don't have the Yocto Project files established on your system,
+ If you don't have the source directory established on your system,
you can get them through tarball extraction or by
cloning the <filename>poky</filename> Git repository.
This example uses <filename>poky</filename> as the root directory of the
- local <link linkend='yocto-project-files'>Yocto Project Files</link> Git repository.
+ <link linkend='source-directory'>source directory</link>.
See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.
</para>
<para>
- Once you have the repository set up,
+ Once you have the local copy of the repository set up,
you have many development branches from which you can work.
From inside the repository you can see the branch names and the tag names used
- in the Git repository using either of the following two commands:
+ in the upstream Git repository using either of the following commands:
<literallayout class='monospaced'>
$ cd poky
$ git branch -a
@@ -680,7 +663,7 @@
to set kernel configurations.
You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment.
Thus, the environment must be set up using the <filename>oe-init-build-env</filename>
- script found in the Yocto Project files Git repository build directory.
+ script found in the build directory.
If you have not sourced this script do so with the following commands:
<literallayout class='monospaced'>
$ cd ~/poky
@@ -693,7 +676,7 @@
to use the tool to interactively change the kernel configuration.
In this example, we are basing our changes on the <filename>linux-yocto-3.2</filename>
kernel.
- The Yocto Project build environment recognizes this kernel as
+ The OpenEmbedded build system recognizes this kernel as
<filename>linux-yocto</filename>.
Thus, the following commands from the shell in which you previously sourced the
environment initialization script cleans the shared state memory and the
@@ -727,8 +710,7 @@
is updated.
This is the file that the build system uses to configure the Linux Yocto kernel
when it is built.
- You can find and examine this file in the Yocto Project Files Git repository in
- the build directory.
+ You can find and examine this file in the build directory.
This example uses the following:
<literallayout class='monospaced'>
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f...
@@ -762,7 +744,7 @@
<note>
Be sure to make a copy of the <filename>.config</filename> and don't just
rename it.
- The Yocto Project build system needs an existing <filename>.config</filename>
+ The build system needs an existing <filename>.config</filename>
from which to work.
</note>
</para>