documentation/dev-manual: Bruce Ashfield's dev-manual comments added.
I was not able to get to Bruce's comments he submitted to me for the "Model" chapter of the development manual. His comments consisted of various tweaks to terminology I used and the inclusion of some additional technical information. This commit addresses all his comments for the review. (From yocto-docs rev: 206a22e1ccf077360974f18295b6df455cd50545) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
24fd69a90e
commit
57e780f915
|
@ -191,7 +191,7 @@
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Kernel modification involves changing the Linux Yocto kernel, which could involve changing
|
Kernel modification involves changing the Linux Yocto kernel, which could involve changing
|
||||||
configuration variables as well as adding new kernel recipes.
|
configuration options as well as adding new kernel recipes.
|
||||||
Configuration changes can be added in the form of configuration fragments, while recipe
|
Configuration changes can be added in the form of configuration fragments, while recipe
|
||||||
modification comes through the kernel's <filename>recipes-kernel</filename> area
|
modification comes through the kernel's <filename>recipes-kernel</filename> area
|
||||||
in a kernel layer you create.
|
in a kernel layer you create.
|
||||||
|
@ -212,8 +212,8 @@
|
||||||
<title>Kernel Overview</title>
|
<title>Kernel Overview</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
When one thinks of the source files for a kernel they usually think of a fixed structure
|
Traditionally, when one thinks of a patched kernel, they think of a base kernel
|
||||||
of files that contain kernel patches.
|
source tree and a fixed structure that conains kernel patches.
|
||||||
The Yocto Project, however, employs mechanisims, that in a sense, result in a kernel source
|
The Yocto Project, however, employs mechanisims, that in a sense, result in a kernel source
|
||||||
generator.
|
generator.
|
||||||
By the end of this section, this analogy will become clearer.
|
By the end of this section, this analogy will become clearer.
|
||||||
|
@ -239,8 +239,8 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The kernels are maintained using the Git application that, in a sense, structures
|
The kernels are maintained using the Git revision control system
|
||||||
them in a "tree" complete with branches and leaves.
|
that structures them using the familiar "tree", "branch", and "leaf" scheme.
|
||||||
Branches represent diversions from general code to more specific code, while leaves
|
Branches represent diversions from general code to more specific code, while leaves
|
||||||
represent the end-points for a complete and unique kernel whose source files
|
represent the end-points for a complete and unique kernel whose source files
|
||||||
when gathered from the root of the tree to the leaf accumulate to create the files
|
when gathered from the root of the tree to the leaf accumulate to create the files
|
||||||
|
@ -253,7 +253,7 @@
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Within the figure, the "Kernel.org Branch Point" represents the point in the tree
|
Within the figure, the "Kernel.org Branch Point" represents the point in the tree
|
||||||
where a supported base kernel diverges from the Linux kernel.
|
where a supported base kernel is modified from the Linux kernel.
|
||||||
For example, this could be the branch point for the <filename>linux-yocto-3.0</filename>
|
For example, this could be the branch point for the <filename>linux-yocto-3.0</filename>
|
||||||
kernel.
|
kernel.
|
||||||
Thus, everything further to the right in the structure is based on the
|
Thus, everything further to the right in the structure is based on the
|
||||||
|
@ -267,7 +267,7 @@
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The overall result is a Git-maintained repository from which all the supported
|
The overall result is a Git-maintained repository from which all the supported
|
||||||
Yocto Project kernels can be derived for all the supported Yocto Project devices.
|
Yocto Project kernel types can be derived for all the supported Yocto Project devices.
|
||||||
A big advantage to this scheme is the sharing of common features by keeping them in
|
A big advantage to this scheme is the sharing of common features by keeping them in
|
||||||
"larger" branches within the tree.
|
"larger" branches within the tree.
|
||||||
This practice eliminates redundant storage of similar features shared among kernels.
|
This practice eliminates redundant storage of similar features shared among kernels.
|
||||||
|
@ -390,7 +390,10 @@
|
||||||
Project files Git repository.
|
Project files Git repository.
|
||||||
For information on how to get these files, see the bulleted item
|
For information on how to get these files, see the bulleted item
|
||||||
"<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>"
|
"<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>"
|
||||||
earlier in this manual.</para></listitem>
|
earlier in this manual.
|
||||||
|
<note>While it is certainly possible to modify the kernel without involving
|
||||||
|
a local Git repository, the suggested workflow for kernel modification
|
||||||
|
using the Yocto Project does use a Git repository.</note></para></listitem>
|
||||||
<listitem><para><emphasis>Establish a local copy of the Linux Yocto kernel files on your
|
<listitem><para><emphasis>Establish a local copy of the Linux Yocto kernel files on your
|
||||||
system</emphasis>: In order to make modifications to the kernel you need two things:
|
system</emphasis>: In order to make modifications to the kernel you need two things:
|
||||||
a bare clone of the Linux Yocto kernel you are modifying and
|
a bare clone of the Linux Yocto kernel you are modifying and
|
||||||
|
@ -412,7 +415,7 @@
|
||||||
Once the changes are made, you need to use Git commands to commit the changes
|
Once the changes are made, you need to use Git commands to commit the changes
|
||||||
and then push them to the bare clone.</para></listitem>
|
and then push them to the bare clone.</para></listitem>
|
||||||
<listitem><para><emphasis>Make kernel configuration changes
|
<listitem><para><emphasis>Make kernel configuration changes
|
||||||
to your local kernel layer if applicable</emphasis>:
|
if applicable</emphasis>:
|
||||||
If your situation calls for changing the kernel's configuration, you can
|
If your situation calls for changing the kernel's configuration, you can
|
||||||
use <filename>menuconfig</filename>
|
use <filename>menuconfig</filename>
|
||||||
to enable and disable kernel configurations.
|
to enable and disable kernel configurations.
|
||||||
|
@ -420,11 +423,18 @@
|
||||||
configuration changes you are making to the kernel.
|
configuration changes you are making to the kernel.
|
||||||
When saved, changes using <filename>menuconfig</filename> update the kernel's
|
When saved, changes using <filename>menuconfig</filename> update the kernel's
|
||||||
<filename>.config</filename>.
|
<filename>.config</filename>.
|
||||||
As an alternative method to changing the kernel's configuration, you can simply
|
Try to resist the temptation of directly editing the <filename>.config</filename>
|
||||||
edit the <filename>.config</filename> found in the Yocto Project build
|
file found in the Yocto Project build directory at
|
||||||
directory at <filename>tmp/sysroots/<machine-name>/kernel</filename>
|
<filename>tmp/sysroots/<machine-name>/kernel</filename>.
|
||||||
directly.</para></listitem>
|
Doing so, can produce unexpected results when the Yocto Project build system
|
||||||
<listitem><para><emphasis>Add new kernel recipes if applicable</emphasis>: The standard
|
regenerates the configuration file.</para>
|
||||||
|
<para>Once you are satisfied with the configuration changes made using
|
||||||
|
<filename>menuconfig</filename>, you can directly examine the
|
||||||
|
<filename>.config</filename> file against a saved original and gather those
|
||||||
|
changes into a config fragment to be placed inside a
|
||||||
|
<filename>.bbappend</filename></para></listitem>
|
||||||
|
<listitem><para><emphasis>Add or extend kernel recipes if applicable</emphasis>:
|
||||||
|
The standard
|
||||||
layer structure organizes recipe files inside the
|
layer structure organizes recipe files inside the
|
||||||
<filename>meta-kernel-dev</filename> layer that is within the
|
<filename>meta-kernel-dev</filename> layer that is within the
|
||||||
<filename>poky-extras</filename> Git repository.
|
<filename>poky-extras</filename> Git repository.
|
||||||
|
@ -465,10 +475,10 @@
|
||||||
which allows you to distribute the layer.</para></listitem>
|
which allows you to distribute the layer.</para></listitem>
|
||||||
<listitem><para><emphasis>If applicable, share your in-tree changes</emphasis>:
|
<listitem><para><emphasis>If applicable, share your in-tree changes</emphasis>:
|
||||||
If the changes you made
|
If the changes you made
|
||||||
are suited for all Linux Yocto users, you might want to push the changes to a
|
are suited for all Linux Yocto users, you might want to send them on for inclusion
|
||||||
contribution area for the Linux Yocto Git repository.
|
into the Linux Yocto Git repository.
|
||||||
Once the changes are pushed, you can request that they
|
If the changes are accepted, the Yocto Project Maintainer pulls them into
|
||||||
be pulled into the master branch of the kernel tree.
|
the master branch of the kernel tree.
|
||||||
Doing so makes them available to everyone using the kernel.</para></listitem>
|
Doing so makes them available to everyone using the kernel.</para></listitem>
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Loading…
Reference in New Issue