summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2010-12-03 07:32:13 -0800
committerSaul Wold <Saul.Wold@intel.com>2010-12-10 22:01:27 -0800
commit579b5c2947c57eef3bc379272ceec6f95f980736 (patch)
tree7ce1b81592d081ee41a77d8d022e674350e4e90d /documentation
parent9f4c630dbd1ba074e20b69b759404ef31595851d (diff)
downloadpoky-579b5c2947c57eef3bc379272ceec6f95f980736.tar.gz
documentation/kernel-manual: Added Bruce Ashfields review comments.
Comments covered some minor points. We did remove the "Creating a Transition Kernel Layer" section however. Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/kernel-manual/kernel-concepts.xml28
-rw-r--r--documentation/kernel-manual/kernel-doc-intro.xml2
-rw-r--r--documentation/kernel-manual/kernel-how-to.xml33
3 files changed, 35 insertions, 28 deletions
diff --git a/documentation/kernel-manual/kernel-concepts.xml b/documentation/kernel-manual/kernel-concepts.xml
index 872264c846..d2ebab0101 100644
--- a/documentation/kernel-manual/kernel-concepts.xml
+++ b/documentation/kernel-manual/kernel-concepts.xml
@@ -43,7 +43,7 @@
43 <listitem><para>Provide mechanisms that support many different work flows, front-ends and 43 <listitem><para>Provide mechanisms that support many different work flows, front-ends and
44 management techniques.</para></listitem> 44 management techniques.</para></listitem>
45 <listitem><para>Deliver the most up-to-date kernel possible while still ensuring that 45 <listitem><para>Deliver the most up-to-date kernel possible while still ensuring that
46 the baseline kernel is the the most stable official release.</para></listitem> 46 the baseline kernel is the most stable official release.</para></listitem>
47 <listitem><para>Include major technological features as part of Yocto Project's up-rev 47 <listitem><para>Include major technological features as part of Yocto Project's up-rev
48 strategy.</para></listitem> 48 strategy.</para></listitem>
49 <listitem><para>Present a git tree, that just like the upstream kernel.org tree, has a 49 <listitem><para>Present a git tree, that just like the upstream kernel.org tree, has a
@@ -80,9 +80,10 @@
80 <para> 80 <para>
81 The ultimate source for the Yocto Project kernel is a released kernel 81 The ultimate source for the Yocto Project kernel is a released kernel
82 from kernel.org. 82 from kernel.org.
83 In addition to a foundational kernel from kernel.org the commercially released 83 In addition to a foundational kernel from kernel.org the released
84 Yocto Project kernel contains a mix of important new mainline 84 Yocto Project kernel contains a mix of important new mainline
85 developments, non-mainline developments, Board Support Package (BSP) developments, 85 developments, non-mainline developments (when there is no alternative),
86 Board Support Package (BSP) developments,
86 and custom features. 87 and custom features.
87 These additions result in a commercially released Yocto Project kernel that caters 88 These additions result in a commercially released Yocto Project kernel that caters
88 to specific embedded designer needs for targeted hardware. 89 to specific embedded designer needs for targeted hardware.
@@ -105,7 +106,8 @@
105 </para> --> 106 </para> -->
106 <para> 107 <para>
107 Once a Yocto Project kernel is officially released the Yocto Project team goes into 108 Once a Yocto Project kernel is officially released the Yocto Project team goes into
108 their next development cycle, or "uprev" cycle. 109 their next development cycle, or "uprev" cycle while continuing maintenance on the
110 released kernel.
109 It is important to note that the most sustainable and stable way 111 It is important to note that the most sustainable and stable way
110 to include feature development upstream is through a kernel uprev process. 112 to include feature development upstream is through a kernel uprev process.
111 Back-porting of hundreds of individual fixes and minor features from various 113 Back-porting of hundreds of individual fixes and minor features from various
@@ -143,8 +145,8 @@
143 This kernel gives insight into new features and allows focused 145 This kernel gives insight into new features and allows focused
144 amounts of testing to be done on the kernel, which prevents 146 amounts of testing to be done on the kernel, which prevents
145 surprises when selecting the next major uprev. 147 surprises when selecting the next major uprev.
146 The quality of these cutting edge kernels is evolving and the kernels are used in very special 148 The quality of these cutting edge kernels is evolving and the kernels are used in leading edge
147 cases for BSP and feature development. 149 feature and BSP development.
148 </para> 150 </para>
149 </section> 151 </section>
150 152
@@ -199,7 +201,8 @@
199 Each branch represents some unique functionality for the BSP or a real-time kernel. 201 Each branch represents some unique functionality for the BSP or a real-time kernel.
200 </para> 202 </para>
201 <para> 203 <para>
202 The real-time kernel branch has common features for all real-time kernels and contains 204 In this example structure, the real-time kernel branch has common features for all
205 real-time kernels and contains
203 more branches for individual BSP-specific real-time kernels. 206 more branches for individual BSP-specific real-time kernels.
204 The illustration shows three branches as an example. 207 The illustration shows three branches as an example.
205 Each branch points the way to specific, unique features for a respective real-time 208 Each branch points the way to specific, unique features for a respective real-time
@@ -226,6 +229,11 @@
226 Rather we store the unique differences required to apply the feature onto the kernel type 229 Rather we store the unique differences required to apply the feature onto the kernel type
227 in question. 230 in question.
228 </para> 231 </para>
232 <note><para>
233 This practice is not typically encouraged.
234 However, during development cycles or when large features are merged the practice
235 can't be avoided.
236 </para></note>
229 <para> 237 <para>
230 BSP-specific code additions are handled in a similar manner to kernel-specific additions. 238 BSP-specific code additions are handled in a similar manner to kernel-specific additions.
231 Some BSPs only make sense given certain kernel types. 239 Some BSPs only make sense given certain kernel types.
@@ -238,13 +246,13 @@
238 the supported multiple kernels are uniquely stored. 246 the supported multiple kernels are uniquely stored.
239 </para> 247 </para>
240 <para> 248 <para>
241 While this strategy results in a tree with a significant number of branches, it is 249 While this strategy can result in a tree with a significant number of branches, it is
242 important to realize that from the customer's point of view, there is a linear 250 important to realize that from the user's point of view, there is a linear
243 path that travels from the baseline kernel.org, through a select group of features and 251 path that travels from the baseline kernel.org, through a select group of features and
244 ends with their BSP-specific commits. 252 ends with their BSP-specific commits.
245 In other words, the divisions of the kernel are transparent and are not relevant 253 In other words, the divisions of the kernel are transparent and are not relevant
246 to the developer on a day-to-day basis. 254 to the developer on a day-to-day basis.
247 From the customer's perspective, this is the "master" branch. 255 From the user's perspective, this is the "master" branch.
248 They do not need not be aware of the existence of any other branches at all. 256 They do not need not be aware of the existence of any other branches at all.
249 Of course there is value in the existence of these branches 257 Of course there is value in the existence of these branches
250 in the tree, should a person decide to explore them. 258 in the tree, should a person decide to explore them.
diff --git a/documentation/kernel-manual/kernel-doc-intro.xml b/documentation/kernel-manual/kernel-doc-intro.xml
index c9715d4bff..05e5443b85 100644
--- a/documentation/kernel-manual/kernel-doc-intro.xml
+++ b/documentation/kernel-manual/kernel-doc-intro.xml
@@ -8,7 +8,7 @@
8<section id='book-intro'> 8<section id='book-intro'>
9 <title>Introduction</title> 9 <title>Introduction</title>
10 <para> 10 <para>
11 Yocto Project presents the kernel as a fully patched, history-clean git 11 The Yocto Project presents the kernel as a fully patched, history-clean git
12 repository. 12 repository.
13 The git tree represents the selected features, board support, 13 The git tree represents the selected features, board support,
14 and configurations extensively tested by Yocto Project. 14 and configurations extensively tested by Yocto Project.
diff --git a/documentation/kernel-manual/kernel-how-to.xml b/documentation/kernel-manual/kernel-how-to.xml
index 25b4282416..85bd8f8430 100644
--- a/documentation/kernel-manual/kernel-how-to.xml
+++ b/documentation/kernel-manual/kernel-how-to.xml
@@ -42,7 +42,7 @@
42 <para> 42 <para>
43 You can find the files used to describe all the valid features and BSPs in the Yocto Project 43 You can find the files used to describe all the valid features and BSPs in the Yocto Project
44 kernel in any clone of the kernel git tree. 44 kernel in any clone of the kernel git tree.
45 The directory <filename>wrs/cfg/kernel-cache/</filename> is a snapshot of all the kernel 45 The directory <filename>meta/cfg/kernel-cache/</filename> is a snapshot of all the kernel
46 configuration and feature descriptions (.scc) used to build the kernel repository. 46 configuration and feature descriptions (.scc) used to build the kernel repository.
47 You should realize, however, that browsing the snapshot of feature 47 You should realize, however, that browsing the snapshot of feature
48 descriptions and patches is not an effective way to determine what is in a 48 descriptions and patches is not an effective way to determine what is in a
@@ -56,8 +56,8 @@
56 <note><para> 56 <note><para>
57 Ground up reconstruction of the complete kernel tree is an action only taken by the 57 Ground up reconstruction of the complete kernel tree is an action only taken by the
58 Yocto Project team during an active development cycle. 58 Yocto Project team during an active development cycle.
59 Creating a project takes advantage of this complete tree in order to 59 Creating a project simply clones this tree to make it efficiently available for building
60 place efficiently a git tree within the project. 60 and development.
61 </para></note> 61 </para></note>
62 <para> 62 <para>
63 The general flow for constructing a project-specific kernel tree is as follows: 63 The general flow for constructing a project-specific kernel tree is as follows:
@@ -69,8 +69,7 @@
69 these system directories:</para> 69 these system directories:</para>
70 70
71 <itemizedlist> 71 <itemizedlist>
72 <listitem><para>The kernel-cache under 72 <listitem><para>The in-tree kernel-cache directories</para></listitem>
73 <filename>linux/wrs/cfg/kernel-cache</filename></para></listitem>
74<!-- <listitem><para>kernel-*-cache directories in layers</para></listitem> --> 73<!-- <listitem><para>kernel-*-cache directories in layers</para></listitem> -->
75 <listitem><para>Recipe SRC_URIs</para></listitem> 74 <listitem><para>Recipe SRC_URIs</para></listitem>
76<!-- <listitem><para>configured and default templates</para></listitem> --> 75<!-- <listitem><para>configured and default templates</para></listitem> -->
@@ -93,7 +92,7 @@
93 <listitem><para>The script is executed, and a meta-series is produced. 92 <listitem><para>The script is executed, and a meta-series is produced.
94 The meta-series is a description of all the branches, tags, patches and configuration that 93 The meta-series is a description of all the branches, tags, patches and configuration that
95 needs to be applied to the base git repository to completely create the 94 needs to be applied to the base git repository to completely create the
96 "bsp_name-kernel_type".</para></listitem> 95 BSP source (build) branch.</para></listitem>
97 96
98 <listitem><para>The base repository is cloned, and the actions 97 <listitem><para>The base repository is cloned, and the actions
99 listed in the meta-series are applied to the tree.</para></listitem> 98 listed in the meta-series are applied to the tree.</para></listitem>
@@ -111,7 +110,7 @@
111 the Yocto Project release. 110 the Yocto Project release.
112 Any add-ons and configuration data are applied to the end of an existing branch. 111 Any add-ons and configuration data are applied to the end of an existing branch.
113 The full repository generation that is found in the 112 The full repository generation that is found in the
114 <filename>linux-2.6-windriver.git</filename> is the combination of all 113 official Yocto Project kernel repositories is the combination of all
115 supported boards and configurations.</para> 114 supported boards and configurations.</para>
116 115
117 <para>This technique is flexible and allows the seamless blending of an immutable 116 <para>This technique is flexible and allows the seamless blending of an immutable
@@ -155,7 +154,8 @@ A summary of end user tree construction activities follow:
155 154
156 <itemizedlist> 155 <itemizedlist>
157 <listitem><para>There must be a kernel git repository indicated in the SRC_URI.</para></listitem> 156 <listitem><para>There must be a kernel git repository indicated in the SRC_URI.</para></listitem>
158 <listitem><para>There must be a branch &lt;bsp name&gt;-&lt;kernel type&gt;.</para></listitem> 157 <listitem><para>There must be a BSP build branch - &lt;bsp name&gt;-&lt;kernel type&gt; in 0.9 or
158 &lt;kernel type&gt;/&lt;bsp name&gt; in 1.0.</para></listitem>
159 </itemizedlist> 159 </itemizedlist>
160 160
161 <para> 161 <para>
@@ -368,8 +368,7 @@ repository.
368 <title>Workflow Examples</title> 368 <title>Workflow Examples</title>
369 369
370 <para> 370 <para>
371 As previously noted, the Yocto Project kernel has built in git/guilt 371 As previously noted, the Yocto Project kernel has built in git integration.
372 integration.
373 However, these utilities are not the only way to work with the kernel repository. 372 However, these utilities are not the only way to work with the kernel repository.
374 Yocto Project has not made changes to git or to other tools that 373 Yocto Project has not made changes to git or to other tools that
375 would invalidate alternate workflows. 374 would invalidate alternate workflows.
@@ -468,7 +467,7 @@ repository.
468 # determine which branches contain a feature 467 # determine which branches contain a feature
469 &gt; git branch --contains &lt;tag&gt; 468 &gt; git branch --contains &lt;tag&gt;
470 469
471 # show the changes in a kernel type 470 # show the changes in a kernel type - (0.9 examples)
472 &gt; git whatchanged wrs_base..&lt;kernel type&gt; 471 &gt; git whatchanged wrs_base..&lt;kernel type&gt;
473 &gt; eg: git whatchanged wrs_base..standard 472 &gt; eg: git whatchanged wrs_base..standard
474 </literallayout> 473 </literallayout>
@@ -652,7 +651,7 @@ repository.
652 </para> 651 </para>
653 652
654 <note><para> 653 <note><para>
655 It is recommend to tag or branch before adding changes to a Yocto Project 654 It is recommended to tag or branch before adding changes to a Yocto Project
656 BSP or before creating a new one. 655 BSP or before creating a new one.
657 The reason for this recommendation is because the branch or tag provides a 656 The reason for this recommendation is because the branch or tag provides a
658 reference point to facilitate locating and exporting local changes. 657 reference point to facilitate locating and exporting local changes.
@@ -1150,7 +1149,7 @@ That's it. Configure and build.
1150 <para> 1149 <para>
1151 You could also add these directly to the git repository <filename>wrs_meta</filename> 1150 You could also add these directly to the git repository <filename>wrs_meta</filename>
1152 branch as well. 1151 branch as well.
1153 However, the former method is probably easier. 1152 However, the former method is a simple starting point.
1154 </para></listitem> 1153 </para></listitem>
1155 1154
1156 <listitem><para> 1155 <listitem><para>
@@ -1171,7 +1170,7 @@ That's it. Configure and build.
1171 Then, modify the code there, using quilt to save the changes, and recompile until 1170 Then, modify the code there, using quilt to save the changes, and recompile until
1172 it works: 1171 it works:
1173 <literallayout class='monospaced'> 1172 <literallayout class='monospaced'>
1174 $ bitbake -c compile -f 1173 $ bitbake -c compile -f linux-yocto
1175 </literallayout> 1174 </literallayout>
1176 </para></listitem> 1175 </para></listitem>
1177 1176
@@ -1925,7 +1924,7 @@ This section shows an example of transforms:
1925 </para> 1924 </para>
1926 </section> 1925 </section>
1927 1926
1928 <section id='kernel-transition-kernel-layer'> 1927<!-- <section id='kernel-transition-kernel-layer'>
1929 <title>Creating a Transition Kernel Layer</title> 1928 <title>Creating a Transition Kernel Layer</title>
1930 1929
1931 <para> 1930 <para>
@@ -1947,7 +1946,7 @@ This section shows an example of transforms:
1947 Once you have the transition kernel layer in place you can evaluate 1946 Once you have the transition kernel layer in place you can evaluate
1948 another kernel's functionality with the goal of easing transition to an integrated and validated 1947 another kernel's functionality with the goal of easing transition to an integrated and validated
1949 Yocto Project kernel. 1948 Yocto Project kernel.
1950 </para> 1949 </para> -->
1951 1950
1952<!--<para> 1951<!--<para>
1953The next few sections describe the process: 1952The next few sections describe the process:
@@ -2078,7 +2077,7 @@ files in the kernel-cache with valid hardware and non hardware config
2078options. 2077options.
2079</para></note> 2078</para></note>
2080 </section> --> 2079 </section> -->
2081 </section> 2080<!-- </section> -->
2082 </section> 2081 </section>
2083 2082
2084 2083