diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2010-12-03 07:32:13 -0800 |
---|---|---|
committer | Saul Wold <Saul.Wold@intel.com> | 2010-12-10 22:01:27 -0800 |
commit | 579b5c2947c57eef3bc379272ceec6f95f980736 (patch) | |
tree | 7ce1b81592d081ee41a77d8d022e674350e4e90d /documentation | |
parent | 9f4c630dbd1ba074e20b69b759404ef31595851d (diff) | |
download | poky-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.xml | 28 | ||||
-rw-r--r-- | documentation/kernel-manual/kernel-doc-intro.xml | 2 | ||||
-rw-r--r-- | documentation/kernel-manual/kernel-how-to.xml | 33 |
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 <bsp name>-<kernel type>.</para></listitem> | 157 | <listitem><para>There must be a BSP build branch - <bsp name>-<kernel type> in 0.9 or |
158 | <kernel type>/<bsp name> 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 | > git branch --contains <tag> | 468 | > git branch --contains <tag> |
470 | 469 | ||
471 | # show the changes in a kernel type | 470 | # show the changes in a kernel type - (0.9 examples) |
472 | > git whatchanged wrs_base..<kernel type> | 471 | > git whatchanged wrs_base..<kernel type> |
473 | > eg: git whatchanged wrs_base..standard | 472 | > 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> |
1953 | The next few sections describe the process: | 1952 | The next few sections describe the process: |
@@ -2078,7 +2077,7 @@ files in the kernel-cache with valid hardware and non hardware config | |||
2078 | options. | 2077 | options. |
2079 | </para></note> | 2078 | </para></note> |
2080 | </section> --> | 2079 | </section> --> |
2081 | </section> | 2080 | <!-- </section> --> |
2082 | </section> | 2081 | </section> |
2083 | 2082 | ||
2084 | 2083 | ||