mirror of
https://git.yoctoproject.org/poky
synced 2026-04-22 15:32:14 +02:00
kernel-dev: Minor edits to the "Advanced Kernel Concepts" appendix
(From yocto-docs rev: 645b642965ffcbb12f171e11a53b4efe5d0fd756) 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
732f317002
commit
214c692889
@@ -9,7 +9,7 @@
|
||||
<title>Yocto Project Kernel Development and Maintenance</title>
|
||||
|
||||
<para>
|
||||
Kernels available through the Yocto Project (Linux Yocto kernels),
|
||||
Kernels available through the Yocto Project (Yocto Linux kernels),
|
||||
like other kernels, are based off the Linux kernel releases from
|
||||
<ulink url='http://www.kernel.org'></ulink>.
|
||||
At the beginning of a major Linux kernel development cycle, the
|
||||
@@ -29,18 +29,18 @@
|
||||
|
||||
<para>
|
||||
This balance allows the Yocto Project team to deliver the most
|
||||
up-to-date Linux Yocto kernel possible, while still ensuring that
|
||||
up-to-date Yocto Linux kernel possible, while still ensuring that
|
||||
the team has a stable official release for the baseline Linux
|
||||
kernel version.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
As implied earlier, the ultimate source for Linux Yocto kernels
|
||||
As implied earlier, the ultimate source for Yocto Linux kernels
|
||||
are released kernels from <filename>kernel.org</filename>.
|
||||
In addition to a foundational kernel from
|
||||
<filename>kernel.org</filename>, the available Yocto Linux kernels
|
||||
contain a mix of important new mainline developments, non-mainline
|
||||
developments (when there is no alternative), Board Support Package
|
||||
developments (when no alternative exists), Board Support Package
|
||||
(BSP) developments, and custom features.
|
||||
These additions result in a commercially released Yocto
|
||||
Project Linux kernel that caters to specific embedded designer
|
||||
@@ -69,6 +69,16 @@
|
||||
Project Release 2.1.
|
||||
This kernel is based on the Linux 4.4 released kernel.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<emphasis><filename>linux-yocto-4.6</filename>:</emphasis>
|
||||
A temporary kernel that is not tied to any Yocto Project
|
||||
release.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<emphasis><filename>linux-yocto-4.8</filename>:</emphasis>
|
||||
The stable yocto Project kernel to use with the Yocto
|
||||
Project Release 2.2.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<emphasis><filename>linux-yocto-4.9</filename>:</emphasis>
|
||||
The stable Yocto Project kernel to use with the Yocto
|
||||
@@ -94,6 +104,10 @@
|
||||
tree.
|
||||
This repository is useful when working on the linux-yocto
|
||||
kernel.
|
||||
For more information on this "Advanced Kernel Metadata",
|
||||
see the
|
||||
"<link linkend='kernel-dev-advanced'>Working With Advanced Metadata (<filename>yocto-kernel-cache</filename>)</link>"
|
||||
Chapter.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<emphasis><filename>linux-yocto-dev</filename>:</emphasis>
|
||||
@@ -157,9 +171,9 @@
|
||||
introduces new bugs.
|
||||
These consequences are the basic properties of upstream
|
||||
Linux kernel development and are managed by the Yocto Project
|
||||
team's Linux Yocto kernel development strategy.
|
||||
team's Yocto Linux kernel development strategy.
|
||||
It is the Yocto Project team's policy to not back-port minor
|
||||
features to the released Linux Yocto kernel.
|
||||
features to the released Yocto Linux kernel.
|
||||
They only consider back-porting significant technological
|
||||
jumps ‐ and, that is done after a complete gap analysis.
|
||||
The reason for this policy is that back-porting any small to
|
||||
@@ -169,19 +183,19 @@
|
||||
|
||||
<para>
|
||||
The policies described in this section result in both a stable
|
||||
and a cutting edge Linux Yocto kernel that mixes forward ports of
|
||||
and a cutting edge Yocto Linux kernel that mixes forward ports of
|
||||
existing Linux kernel features and significant and critical new
|
||||
functionality.
|
||||
Forward porting Linux kernel functionality into the Linux Yocto
|
||||
Forward porting Linux kernel functionality into the Yocto Linux
|
||||
kernels available through the Yocto Project can be thought of as
|
||||
a "micro uprev."
|
||||
The many “micro uprevs” produce a Linux Yocto kernel version with
|
||||
The many “micro uprevs” produce a Yocto Linux kernel version with
|
||||
a mix of important new mainline, non-mainline, BSP developments
|
||||
and feature integrations.
|
||||
This Yocto Linux kernel gives insight into new features and
|
||||
allows focused amounts of testing to be done on the kernel,
|
||||
which prevents surprises when selecting the next major uprev.
|
||||
The quality of these cutting edge Linux Yocto kernels is evolving
|
||||
The quality of these cutting edge Yocto Linux kernels is evolving
|
||||
and the kernels are used in leading edge feature and BSP
|
||||
development.
|
||||
</para>
|
||||
@@ -211,13 +225,12 @@
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
Git is the obvious SCM for meeting the Yocto Linux
|
||||
kernel organizational and structural goals
|
||||
described in this section.
|
||||
Not only is Git the SCM for Linux kernel
|
||||
development in <filename>kernel.org</filename> but,
|
||||
Git continues to grow in popularity and supports
|
||||
many different work flows, front-ends and
|
||||
management techniques.
|
||||
kernel organizational and structural goals described
|
||||
in this section.
|
||||
Not only is Git the SCM for Linux kernel development in
|
||||
<filename>kernel.org</filename> but, Git continues to
|
||||
grow in popularity and supports many different work
|
||||
flows, front-ends and management techniques.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
You can find documentation on Git at
|
||||
@@ -251,12 +264,11 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This "tree-like" architecture results in a tree that has
|
||||
features organized to be specific for particular
|
||||
functionality, single kernel types, or a subset of kernel
|
||||
types.
|
||||
Thus, the user has the ability to see the added
|
||||
features and the commits that make up those features.
|
||||
This "tree-like" architecture results in a structure that has
|
||||
features organized to be specific for particular functionality,
|
||||
single kernel types, or a subset of kernel types.
|
||||
Thus, 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.
|
||||
@@ -388,7 +400,8 @@
|
||||
<para>
|
||||
Because commits only change at significant release points in the
|
||||
product life cycle, developers can work on a branch created
|
||||
from the last relevant commit in the shipped Yocto Project kernel.
|
||||
from the last relevant commit in the shipped Yocto Project Linux
|
||||
kernel.
|
||||
As mentioned previously, the structure is transparent to the
|
||||
developer because the kernel tree is left in this state after
|
||||
cloning and building the kernel.
|
||||
@@ -476,7 +489,9 @@
|
||||
section.
|
||||
You can also reference the
|
||||
"<link linkend='using-devtool-to-patch-the-kernel'>Using <filename>devtool</filename> to Patch the Kernel</link>"
|
||||
section for a detailed example that modifies the kernel.
|
||||
and
|
||||
"<link linkend='using-traditional-kernel-development-to-patch-the-kernel'>Using Traditional Kernel Development to Patch the Kernel</link>"
|
||||
sections for detailed example that modifies the kernel.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
@@ -513,30 +528,32 @@
|
||||
|
||||
<para>
|
||||
To determine whether or not a given option is "hardware" or
|
||||
"non-hardware", the kernel Metadata contains files that
|
||||
"non-hardware", the kernel Metadata in
|
||||
<filename>yocto-kernel-cache</filename> contains files that
|
||||
classify individual or groups of options as either hardware
|
||||
or non-hardware.
|
||||
To better show this, consider a situation where the
|
||||
Yocto Project kernel cache contains the following files:
|
||||
<filename>yocto-kernel-cache</filename> contains the following
|
||||
files:
|
||||
<literallayout class='monospaced'>
|
||||
kernel-cache/features/drm-psb/hardware.cfg
|
||||
kernel-cache/features/kgdb/hardware.cfg
|
||||
kernel-cache/ktypes/base/hardware.cfg
|
||||
kernel-cache/bsp/mti-malta32/hardware.cfg
|
||||
kernel-cache/bsp/fsl-mpc8315e-rdb/hardware.cfg
|
||||
kernel-cache/bsp/qemu-ppc32/hardware.cfg
|
||||
kernel-cache/bsp/qemuarma9/hardware.cfg
|
||||
kernel-cache/bsp/mti-malta64/hardware.cfg
|
||||
kernel-cache/bsp/arm-versatile-926ejs/hardware.cfg
|
||||
kernel-cache/bsp/common-pc/hardware.cfg
|
||||
kernel-cache/bsp/common-pc-64/hardware.cfg
|
||||
kernel-cache/features/rfkill/non-hardware.cfg
|
||||
kernel-cache/ktypes/base/non-hardware.cfg
|
||||
kernel-cache/features/aufs/non-hardware.kcf
|
||||
kernel-cache/features/ocf/non-hardware.kcf
|
||||
kernel-cache/ktypes/base/non-hardware.kcf
|
||||
kernel-cache/ktypes/base/hardware.kcf
|
||||
kernel-cache/bsp/qemu-ppc32/hardware.kcf
|
||||
yocto-kernel-cache/features/drm-psb/hardware.cfg
|
||||
yocto-kernel-cache/features/kgdb/hardware.cfg
|
||||
yocto-kernel-cache/ktypes/base/hardware.cfg
|
||||
yocto-kernel-cache/bsp/mti-malta32/hardware.cfg
|
||||
yocto-kernel-cache/bsp/fsl-mpc8315e-rdb/hardware.cfg
|
||||
yocto-kernel-cache/bsp/qemu-ppc32/hardware.cfg
|
||||
yocto-kernel-cache/bsp/qemuarma9/hardware.cfg
|
||||
yocto-kernel-cache/bsp/mti-malta64/hardware.cfg
|
||||
yocto-kernel-cache/bsp/arm-versatile-926ejs/hardware.cfg
|
||||
yocto-kernel-cache/bsp/common-pc/hardware.cfg
|
||||
yocto-kernel-cache/bsp/common-pc-64/hardware.cfg
|
||||
yocto-kernel-cache/features/rfkill/non-hardware.cfg
|
||||
yocto-kernel-cache/ktypes/base/non-hardware.cfg
|
||||
yocto-kernel-cache/features/aufs/non-hardware.kcf
|
||||
yocto-kernel-cache/features/ocf/non-hardware.kcf
|
||||
yocto-kernel-cache/ktypes/base/non-hardware.kcf
|
||||
yocto-kernel-cache/ktypes/base/hardware.kcf
|
||||
yocto-kernel-cache/bsp/qemu-ppc32/hardware.kcf
|
||||
</literallayout>
|
||||
The following list provides explanations for the various
|
||||
files:
|
||||
|
||||
Reference in New Issue
Block a user