summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-dev/kernel-dev-concepts-appx.xml
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2017-06-29 13:06:27 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-07-12 00:28:14 +0100
commit64f0f60b3fba36ff87fe78ec1e27e6398d206c51 (patch)
tree982a94c7f5c1455f16d0f03ae1396b4d464c131a /documentation/kernel-dev/kernel-dev-concepts-appx.xml
parentbdeb6db2fbc8563b03ea17d9c18a5fa19830e12f (diff)
downloadpoky-64f0f60b3fba36ff87fe78ec1e27e6398d206c51.tar.gz
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>
Diffstat (limited to 'documentation/kernel-dev/kernel-dev-concepts-appx.xml')
-rw-r--r--documentation/kernel-dev/kernel-dev-concepts-appx.xml113
1 files changed, 72 insertions, 41 deletions
diff --git a/documentation/kernel-dev/kernel-dev-concepts-appx.xml b/documentation/kernel-dev/kernel-dev-concepts-appx.xml
index 3606301cc7..ee40938b5d 100644
--- a/documentation/kernel-dev/kernel-dev-concepts-appx.xml
+++ b/documentation/kernel-dev/kernel-dev-concepts-appx.xml
@@ -175,74 +175,105 @@
175 175
176 <section id='kernel-architecture'> 176 <section id='kernel-architecture'>
177 <title>Kernel Architecture</title> 177 <title>Kernel Architecture</title>
178
178 <para> 179 <para>
179 This section describes the architecture of the kernels available through the 180 This section describes the architecture of the Yocto Linux kernels
180 Yocto Project and provides information 181 available through the Yocto Project and provides information
181 on the mechanisms used to achieve that architecture. 182 on the mechanisms used to achieve that architecture.
182 </para> 183 </para>
183 184
184 <section id='architecture-overview'> 185 <section id='architecture-overview'>
185 <title>Overview</title> 186 <title>Overview</title>
187
186 <para> 188 <para>
187 As mentioned earlier, a key goal of the Yocto Project is to present the 189 As mentioned earlier, a key goal of the Yocto Project is
188 developer with 190 to present the developer with a kernel that has a clear and
189 a kernel that has a clear and continuous history that is visible to the user. 191 continuous history that is visible to the user.
190 The architecture and mechanisms used achieve that goal in a manner similar to the 192 The architecture and mechanisms used achieve that goal in a
191 upstream <filename>kernel.org</filename>. 193 manner similar to upstream Linux kernel development in
194 <filename>kernel.org</filename>.
192 </para> 195 </para>
196
193 <para> 197 <para>
194 You can think of a Yocto Project kernel as consisting of a baseline Linux kernel with 198 You can think of a Yocto Linux kernel as consisting of a
195 added features logically structured on top of the baseline. 199 baseline Linux kernel with added features logically structured
196 The features are tagged and organized by way of a branching strategy implemented by the 200 on top of the baseline.
201 The features are tagged and organized by way of a branching
202 strategy implemented by the Yocto Project team using the
197 source code manager (SCM) Git. 203 source code manager (SCM) Git.
198 For information on Git as applied to the Yocto Project, see the 204 For information on Git as applied to the Yocto Project, see the
199 "<ulink url='&YOCTO_DOCS_REF_URL;#git'>Git</ulink>" section in the 205 "<ulink url='&YOCTO_DOCS_REF_URL;#git'>Git</ulink>" section
200 Yocto Project Development Manual. 206 in the Yocto Project Development Manual.
201 </para>
202 <para>
203 The result is that the user has the ability to see the added features and
204 the commits that make up those features.
205 In addition to being able to see added features, the user can also view the history of what
206 made up the baseline kernel.
207 </para> 207 </para>
208
208 <para> 209 <para>
209 The following illustration shows the conceptual Yocto Project kernel. 210 The result is that the user has the ability to see the added
211 features and the commits that make up those features.
212 In addition to being able to see added features, the user
213 can also view the history of what made up the baseline
214 Linux kernel.
210 </para> 215 </para>
216
211 <para> 217 <para>
218 The following illustration shows the conceptual Yocto
219 Linux kernel.
212 <imagedata fileref="figures/kernel-architecture-overview.png" width="6in" depth="7in" align="center" scale="100" /> 220 <imagedata fileref="figures/kernel-architecture-overview.png" width="6in" depth="7in" align="center" scale="100" />
213 </para> 221 </para>
222
214 <para> 223 <para>
215 In the illustration, the "Kernel.org Branch Point" 224 In the illustration, the "Kernel.org Branch Point" marks the
216 marks the specific spot (or release) from 225 specific spot (or Linux kernel release) from which the
217 which the Yocto Project kernel is created. 226 Yocto Linux kernel is created.
218 From this point "up" in the tree, features and differences are organized and tagged. 227 From this point forward in the tree, features and differences
228 are organized and tagged.
219 </para> 229 </para>
230
220 <para> 231 <para>
221 The "Yocto Project Baseline Kernel" contains functionality that is common to every kernel 232 The "Yocto Project Baseline Kernel" contains functionality that
222 type and BSP that is organized further up the tree. 233 is common to every kernel type and BSP that is organized
223 Placing these common features in the 234 further along in the tree.
224 tree this way means features do not have to be duplicated along individual branches of the 235 Placing these common features in the tree this way means
225 structure. 236 features do not have to be duplicated along individual
237 branches of the tree structure.
226 </para> 238 </para>
239
227 <para> 240 <para>
228 From the Yocto Project Baseline Kernel, branch points represent specific functionality 241 From the Yocto Project Baseline Kernel, branch points represent
229 for individual BSPs as well as real-time kernels. 242 specific functionality for individual Board Support Packages
230 The illustration represents this through three BSP-specific branches and a real-time 243 (BSPs) as well as real-time kernels.
231 kernel branch. 244 The illustration represents this through three BSP-specific
232 Each branch represents some unique functionality for the BSP or a real-time kernel. 245 branches and a real-time kernel branch.
246 Each branch represents some unique functionality for the BSP
247 or for a real-time Yocto Linux kernel.
233 </para> 248 </para>
249
234 <para> 250 <para>
235 In this example structure, the real-time kernel branch has common features for all 251 In this example structure, the real-time kernel branch has
236 real-time kernels and contains 252 common features for all real-time Yocto Linux kernels and
237 more branches for individual BSP-specific real-time kernels. 253 contains more branches for individual BSP-specific real-time
254 kernels.
238 The illustration shows three branches as an example. 255 The illustration shows three branches as an example.
239 Each branch points the way to specific, unique features for a respective real-time 256 Each branch points the way to specific, unique features for a
240 kernel as they apply to a given BSP. 257 respective real-time kernel as they apply to a given BSP.
241 </para> 258 </para>
259
242 <para> 260 <para>
243 The resulting tree structure presents a clear path of markers (or branches) to the 261 The resulting tree structure presents a clear path of markers
244 developer that, for all practical purposes, is the kernel needed for any given set 262 (or branches) to the developer that, for all practical
245 of requirements. 263 purposes, is the Yocto Linux kernel needed for any given set of
264 requirements.
265 <note>
266 Keep in mind the figure does not take into account all the
267 supported Yocto Linux kernels, but rather shows a single
268 generic kernel just for conceptual purposes.
269 Also keep in mind that this structure represents the Yocto
270 Project
271 <ulink url='&YOCTO_DOCS_REF_URL;#source-repositories'>Source Repositories</ulink>
272 that are either pulled from during the build or established
273 on the host development system prior to the build by either
274 cloning a particular kernel's Git repository or by
275 downloading and unpacking a tarball.
276 </note>
246 </para> 277 </para>
247 </section> 278 </section>
248 279