mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 03:32:13 +02:00
dev-manual, kernel-dev: Moved kernel branch concepts to kernel-dev
Fixes [YOCTO #11630] The information in the dev-manual kernel overview area really neeeds to be in the Appendix on kernel structure in the kernel-dev manual. I moved that informtaion to the appendix. Removal of one redundant image was necessary from the dev-manual. The figure was literally repeated in the kernel manual already under a different file name. (From yocto-docs rev: 00ca68e760e41448c225fb1ca4a77f5201434b93) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
bdeb6db2fb
commit
64f0f60b3f
@@ -175,74 +175,105 @@
|
||||
|
||||
<section id='kernel-architecture'>
|
||||
<title>Kernel Architecture</title>
|
||||
|
||||
<para>
|
||||
This section describes the architecture of the kernels available through the
|
||||
Yocto Project and provides information
|
||||
This section describes the architecture of the Yocto Linux kernels
|
||||
available through the Yocto Project and provides information
|
||||
on the mechanisms used to achieve that architecture.
|
||||
</para>
|
||||
|
||||
<section id='architecture-overview'>
|
||||
<title>Overview</title>
|
||||
|
||||
<para>
|
||||
As mentioned earlier, a key goal of the Yocto Project is to present the
|
||||
developer with
|
||||
a kernel that has a clear and continuous history that is visible to the user.
|
||||
The architecture and mechanisms used achieve that goal in a manner similar to the
|
||||
upstream <filename>kernel.org</filename>.
|
||||
As mentioned earlier, a key goal of the Yocto Project is
|
||||
to present the developer with a kernel that has a clear and
|
||||
continuous history that is visible to the user.
|
||||
The architecture and mechanisms used achieve that goal in a
|
||||
manner similar to upstream Linux kernel development in
|
||||
<filename>kernel.org</filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You can think of a Yocto Project kernel as consisting of a baseline Linux kernel with
|
||||
added features logically structured on top of the baseline.
|
||||
The features are tagged and organized by way of a branching strategy implemented by the
|
||||
You can think of a Yocto Linux kernel as consisting of a
|
||||
baseline Linux kernel with added features logically structured
|
||||
on top of the baseline.
|
||||
The features are tagged and organized by way of a branching
|
||||
strategy implemented by the Yocto Project team using the
|
||||
source code manager (SCM) Git.
|
||||
For information on Git as applied to the Yocto Project, see the
|
||||
"<ulink url='&YOCTO_DOCS_REF_URL;#git'>Git</ulink>" section in the
|
||||
Yocto Project Development Manual.
|
||||
"<ulink url='&YOCTO_DOCS_REF_URL;#git'>Git</ulink>" section
|
||||
in the Yocto Project Development Manual.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The result is that the user has the ability to see the added features and
|
||||
the commits that make up those features.
|
||||
In addition to being able to see added features, the user can also view the history of what
|
||||
made up the baseline kernel.
|
||||
</para>
|
||||
<para>
|
||||
The following illustration shows the conceptual Yocto Project kernel.
|
||||
The result is that the user has the ability to see the added
|
||||
features and the commits that make up those features.
|
||||
In addition to being able to see added features, the user
|
||||
can also view the history of what made up the baseline
|
||||
Linux kernel.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The following illustration shows the conceptual Yocto
|
||||
Linux kernel.
|
||||
<imagedata fileref="figures/kernel-architecture-overview.png" width="6in" depth="7in" align="center" scale="100" />
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In the illustration, the "Kernel.org Branch Point"
|
||||
marks the specific spot (or release) from
|
||||
which the Yocto Project kernel is created.
|
||||
From this point "up" in the tree, features and differences are organized and tagged.
|
||||
In the illustration, the "Kernel.org Branch Point" marks the
|
||||
specific spot (or Linux kernel release) from which the
|
||||
Yocto Linux kernel is created.
|
||||
From this point forward in the tree, features and differences
|
||||
are organized and tagged.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The "Yocto Project Baseline Kernel" contains functionality that is common to every kernel
|
||||
type and BSP that is organized further up the tree.
|
||||
Placing these common features in the
|
||||
tree this way means features do not have to be duplicated along individual branches of the
|
||||
structure.
|
||||
The "Yocto Project Baseline Kernel" contains functionality that
|
||||
is common to every kernel type and BSP that is organized
|
||||
further along in the tree.
|
||||
Placing these common features in the tree this way means
|
||||
features do not have to be duplicated along individual
|
||||
branches of the tree structure.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
From the Yocto Project Baseline Kernel, branch points represent specific functionality
|
||||
for individual BSPs as well as real-time kernels.
|
||||
The illustration represents this through three BSP-specific branches and a real-time
|
||||
kernel branch.
|
||||
Each branch represents some unique functionality for the BSP or a real-time kernel.
|
||||
From the Yocto Project Baseline Kernel, branch points represent
|
||||
specific functionality for individual Board Support Packages
|
||||
(BSPs) as well as real-time kernels.
|
||||
The illustration represents this through three BSP-specific
|
||||
branches and a real-time kernel branch.
|
||||
Each branch represents some unique functionality for the BSP
|
||||
or for a real-time Yocto Linux kernel.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In this example structure, the real-time kernel branch has common features for all
|
||||
real-time kernels and contains
|
||||
more branches for individual BSP-specific real-time kernels.
|
||||
In this example structure, the real-time kernel branch has
|
||||
common features for all real-time Yocto Linux kernels and
|
||||
contains more branches for individual BSP-specific real-time
|
||||
kernels.
|
||||
The illustration shows three branches as an example.
|
||||
Each branch points the way to specific, unique features for a respective real-time
|
||||
kernel as they apply to a given BSP.
|
||||
Each branch points the way to specific, unique features for a
|
||||
respective real-time kernel as they apply to a given BSP.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The resulting tree structure presents a clear path of markers (or branches) to the
|
||||
developer that, for all practical purposes, is the kernel needed for any given set
|
||||
of requirements.
|
||||
The resulting tree structure presents a clear path of markers
|
||||
(or branches) to the developer that, for all practical
|
||||
purposes, is the Yocto Linux kernel needed for any given set of
|
||||
requirements.
|
||||
<note>
|
||||
Keep in mind the figure does not take into account all the
|
||||
supported Yocto Linux kernels, but rather shows a single
|
||||
generic kernel just for conceptual purposes.
|
||||
Also keep in mind that this structure represents the Yocto
|
||||
Project
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#source-repositories'>Source Repositories</ulink>
|
||||
that are either pulled from during the build or established
|
||||
on the host development system prior to the build by either
|
||||
cloning a particular kernel's Git repository or by
|
||||
downloading and unpacking a tarball.
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user