summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-manual/kernel-concepts.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/kernel-manual/kernel-concepts.xml')
-rw-r--r--documentation/kernel-manual/kernel-concepts.xml67
1 files changed, 27 insertions, 40 deletions
diff --git a/documentation/kernel-manual/kernel-concepts.xml b/documentation/kernel-manual/kernel-concepts.xml
index 54d75f6c16..fce6bfbffe 100644
--- a/documentation/kernel-manual/kernel-concepts.xml
+++ b/documentation/kernel-manual/kernel-concepts.xml
@@ -9,10 +9,10 @@
9<section id='concepts-org'> 9<section id='concepts-org'>
10 <title>Introduction</title> 10 <title>Introduction</title>
11 <para> 11 <para>
12 This chapter provides conceptual information about the Yocto Project kernel: 12 This chapter provides conceptual information about the kernel:
13 <itemizedlist> 13 <itemizedlist>
14 <listitem><para>Kernel Goals</para></listitem> 14 <listitem><para>Kernel Goals</para></listitem>
15 <listitem><para>Yocto Project Kernel Development and Maintenance Overview</para></listitem> 15 <listitem><para>Kernel Development and Maintenance Overview</para></listitem>
16 <listitem><para>Kernel Architecture</para></listitem> 16 <listitem><para>Kernel Architecture</para></listitem>
17 <listitem><para>Kernel Tools</para></listitem> 17 <listitem><para>Kernel Tools</para></listitem>
18 </itemizedlist> 18 </itemizedlist>
@@ -25,8 +25,8 @@
25 The complexity of embedded kernel design has increased dramatically. 25 The complexity of embedded kernel design has increased dramatically.
26 Whether it is managing multiple implementations of a particular feature or tuning and 26 Whether it is managing multiple implementations of a particular feature or tuning and
27 optimizing board specific features, flexibility and maintainability are key concerns. 27 optimizing board specific features, flexibility and maintainability are key concerns.
28 The Yocto Project Linux kernel is presented with the embedded 28 The Linux kernels available through the Yocto Project are presented with the embedded
29 developer's needs in mind and has evolved to assist in these key concerns. 29 developer's needs in mind and have evolved to assist in these key concerns.
30 For example, prior methods such as applying hundreds of patches to an extracted 30 For example, prior methods such as applying hundreds of patches to an extracted
31 tarball have been replaced with proven techniques that allow easy inspection, 31 tarball have been replaced with proven techniques that allow easy inspection,
32 bisection and analysis of changes. 32 bisection and analysis of changes.
@@ -34,7 +34,7 @@
34 collaboration with the thousands of upstream development projects. 34 collaboration with the thousands of upstream development projects.
35 </para> 35 </para>
36 <para> 36 <para>
37 With all these considerations in mind, the Yocto Project kernel and development team 37 With all these considerations in mind, the Yocto Project's kernel and development team
38 strives to attain these goals: 38 strives to attain these goals:
39 <itemizedlist> 39 <itemizedlist>
40 <listitem><para>Allow the end user to leverage community best practices to seamlessly 40 <listitem><para>Allow the end user to leverage community best practices to seamlessly
@@ -63,12 +63,12 @@
63 <section id='kernel-big-picture'> 63 <section id='kernel-big-picture'>
64 <title>Yocto Project Kernel Development and Maintenance Overview</title> 64 <title>Yocto Project Kernel Development and Maintenance Overview</title>
65 <para> 65 <para>
66 The Yocto Project kernel, like other kernels, is based off the Linux kernel release 66 Kernels available through the Yocto Project, like other kernels, are based off the Linux
67 from <ulink url='http://www.kernel.org'></ulink>. 67 kernel releases from <ulink url='http://www.kernel.org'></ulink>.
68 At the beginning of a major development cycle, the Yocto Project team 68 At the beginning of a major development cycle, the Yocto Project team
69 chooses its Yocto Project kernel 69 chooses its kernel based on factors such as release timing, the anticipated release
70 based on factors like release timing, the anticipated release timing of final 70 timing of final upstream <filename>kernel.org</filename> versions, and Yocto Project
71 upstream <filename>kernel.org</filename> versions, and Yocto Project feature requirements. 71 feature requirements.
72 Typically, the kernel chosen is in the 72 Typically, the kernel chosen is in the
73 final stages of development by the community. 73 final stages of development by the community.
74 In other words, the kernel is in the release 74 In other words, the kernel is in the release
@@ -80,21 +80,21 @@
80 <para> 80 <para>
81 This balance allows the team to deliver the most up-to-date kernel 81 This balance allows the team to deliver the most up-to-date kernel
82 as possible, while still ensuring that the team has a stable official release for 82 as possible, while still ensuring that the team has a stable official release for
83 the baseline kernel version. 83 the baseline Linux kernel version.
84 </para> 84 </para>
85 <para> 85 <para>
86 The ultimate source for the Yocto Project kernel is a released kernel 86 The ultimate source for kernels available through the Yocto Project are released kernels
87 from <filename>kernel.org</filename>. 87 from <filename>kernel.org</filename>.
88 In addition to a foundational kernel from <filename>kernel.org</filename>, the released 88 In addition to a foundational kernel from <filename>kernel.org</filename>, the
89 Yocto Project kernel contains a mix of important new mainline 89 kernels available through the contain a mix of important new mainline
90 developments, non-mainline developments (when there is no alternative), 90 developments, non-mainline developments (when there is no alternative),
91 Board Support Package (BSP) developments, 91 Board Support Package (BSP) developments,
92 and custom features. 92 and custom features.
93 These additions result in a commercially released Yocto Project kernel that caters 93 These additions result in a commercially released Yocto Project Linux kernel that caters
94 to specific embedded designer needs for targeted hardware. 94 to specific embedded designer needs for targeted hardware.
95 </para> 95 </para>
96 <para> 96 <para>
97 Once a Yocto Project kernel is officially released, the Yocto Project team goes into 97 Once a kernel is officially released, the Yocto Project team goes into
98 their next development cycle, or upward revision (uprev) cycle, while still 98 their next development cycle, or upward revision (uprev) cycle, while still
99 continuing maintenance on the released kernel. 99 continuing maintenance on the released kernel.
100 It is important to note that the most sustainable and stable way 100 It is important to note that the most sustainable and stable way
@@ -127,8 +127,8 @@
127 These policies result in both a stable and a cutting 127 These policies result in both a stable and a cutting
128 edge kernel that mixes forward ports of existing features and significant and critical 128 edge kernel that mixes forward ports of existing features and significant and critical
129 new functionality. 129 new functionality.
130 Forward porting functionality in the Yocto Project kernel can be thought of as a 130 Forward porting functionality in the kernels available through the Yocto Project kernel
131 "micro uprev." 131 can be thought of as a "micro uprev."
132 The many “micro uprevs” produce a kernel version with a mix of 132 The many “micro uprevs” produce a kernel version with a mix of
133 important new mainline, non-mainline, BSP developments and feature integrations. 133 important new mainline, non-mainline, BSP developments and feature integrations.
134 This kernel gives insight into new features and allows focused 134 This kernel gives insight into new features and allows focused
@@ -142,7 +142,8 @@
142 <section id='kernel-architecture'> 142 <section id='kernel-architecture'>
143 <title>Kernel Architecture</title> 143 <title>Kernel Architecture</title>
144 <para> 144 <para>
145 This section describes the architecture of the Yocto Project kernel and provides information 145 This section describes the architecture of the kernels available through the
146 Yocto Project and provides information
146 on the mechanisms used to achieve that architecture. 147 on the mechanisms used to achieve that architecture.
147 </para> 148 </para>
148 149
@@ -156,7 +157,7 @@
156 upstream <filename>kernel.org</filename>. 157 upstream <filename>kernel.org</filename>.
157 </para> 158 </para>
158 <para> 159 <para>
159 You can think of the Yocto Project kernel as consisting of a baseline kernel with 160 You can think of a Yocto Project kernel as consisting of a baseline Linux kernel with
160 added features logically structured on top of the baseline. 161 added features logically structured on top of the baseline.
161 The features are tagged and organized by way of a branching strategy implemented by the 162 The features are tagged and organized by way of a branching strategy implemented by the
162 source code manager (SCM) Git. 163 source code manager (SCM) Git.
@@ -305,9 +306,9 @@
305 <section id='kernel-configuration'> 306 <section id='kernel-configuration'>
306 <title>Kernel Configuration</title> 307 <title>Kernel Configuration</title>
307 <para> 308 <para>
308 Kernel configuration, along with kernel features, defines how a Linux Yocto 309 Kernel configuration, along with kernel features, defines how a kernel
309 kernel image is built. 310 image is built for the Yocto Project.
310 Through configuration settings, you can customize a Linux Yocto kernel to be 311 Through configuration settings, you can customize a Yocto Project kernel to be
311 specific to particular hardware. 312 specific to particular hardware.
312 For example, you can specify sound support or networking support. 313 For example, you can specify sound support or networking support.
313 This section describes basic concepts behind Kernel configuration within the 314 This section describes basic concepts behind Kernel configuration within the
@@ -316,9 +317,9 @@
316 </para> 317 </para>
317 318
318 <para> 319 <para>
319 Conceptually, Linux Yocto kernel configuration occurs similarly to that needed for any 320 Conceptually, configuration of a Yocto Project kernel occurs similarly to that needed for any
320 Linux kernel. 321 Linux kernel.
321 The Linux Yocto kernel build process uses a <filename>.config</filename> file, which 322 The build process for a Yocto Project kernel uses a <filename>.config</filename> file, which
322 is created through the Linux Kernel Coinfiguration (LKC) tool. 323 is created through the Linux Kernel Coinfiguration (LKC) tool.
323 You can directly set various configurations in the 324 You can directly set various configurations in the
324 <filename>.config</filename> file by using the <filename>menuconfig</filename> 325 <filename>.config</filename> file by using the <filename>menuconfig</filename>
@@ -352,7 +353,7 @@
352 list of kernel options just as they would appear syntactically in the 353 list of kernel options just as they would appear syntactically in the
353 <filename>.config</filename> file. 354 <filename>.config</filename> file.
354 Configuration fragments are typically logical groupings and are assembled 355 Configuration fragments are typically logical groupings and are assembled
355 by the Yocto Project build system to produce input used by the LKC 356 by the OpenEmbedded build system to produce input used by the LKC
356 that ultimately generates the <filename>.config</filename> file.</para> 357 that ultimately generates the <filename>.config</filename> file.</para>
357 <para>The 358 <para>The
358 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'>KERNEL_FEATURES</ulink></filename> 359 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'>KERNEL_FEATURES</ulink></filename>
@@ -384,20 +385,6 @@
384 with the <filename>kernel.org</filename> history and development.</para></listitem> 385 with the <filename>kernel.org</filename> history and development.</para></listitem>
385 </itemizedlist> 386 </itemizedlist>
386 </para> 387 </para>
387<!--<para>
388WRITER NOTE: Put this in for post 1.1 if possible:
389
390The tools that construct a kernel tree will be discussed later in this
391document. The following tools form the foundation of the Yocto Project
392kernel toolkit:
393<itemizedlist>
394 <listitem><para>git : distributed revision control system created by Linus Torvalds</para></listitem>
395 <listitem><para>guilt: quilt on top of git</para></listitem>
396 <listitem><para>*cfg : kernel configuration management and classification</para></listitem>
397 <listitem><para>kgit*: Yocto Project kernel tree creation and management tools</para></listitem>
398 <listitem><para>scc : series &amp; configuration compiler</para></listitem>
399</itemizedlist>
400</para> -->
401 </section> 388 </section>
402</chapter> 389</chapter>
403<!-- 390<!--