From bdeb6db2fbc8563b03ea17d9c18a5fa19830e12f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 29 Jun 2017 09:32:57 -0700 Subject: kernel-dev, dev-manual: Moved Yocto Linux kernel overview Fixes [YOCTO #11630] I took the Yocto Linux kernel overview list of kernels out of the dev-manual and moved them to the "Yocto Project Kernel Development and Maintenance" section in Appendix A of the kernel-dev manual. This is a much more logical area to introduce this type of Yocto Linux kernel information. (From yocto-docs rev: 0a5154cb4c23697f2b8e2341c8e1dc07362443d2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-model.xml | 69 +------ .../kernel-dev/kernel-dev-concepts-appx.xml | 207 +++++++++++++++------ 2 files changed, 150 insertions(+), 126 deletions(-) (limited to 'documentation') diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index 30428b22f3..bd6a85b987 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -85,71 +85,6 @@
Kernel Overview - - Traditionally, when one thinks of a patched kernel, they think of a base kernel - source tree and a fixed structure that contains kernel patches. - The Yocto Project, however, employs mechanisms that, in a sense, result in a kernel source - generator. - By the end of this section, this analogy will become clearer. - - - - You can find a web interface to the Yocto Project kernel source repositories at - . - If you look at the interface, you will see to the left a grouping of - Git repositories titled "Yocto Linux Kernel." - Within this group, you will find several kernels supported by - the Yocto Project: - - - linux-yocto-4.1 - The - stable Yocto Project kernel to use with the Yocto - Project Release 2.0. - This kernel is based on the Linux 4.1 released kernel. - - - linux-yocto-4.4 - The - stable Yocto Project kernel to use with the Yocto - Project Release 2.1. - This kernel is based on the Linux 4.4 released kernel. - - - linux-yocto-4.9 - The - stable Yocto Project kernel to use with the Yocto - Project Release 2.3. - This kernel is based on the Linux 4.9 released kernel. - - - linux-yocto-4.10 - The - default stable Yocto Project kernel to use with the - Yocto Project Release 2.3. - This kernel is based on the Linux 4.10 released kernel. - - - linux-yocto-dev - A - development kernel based on the latest upstream release - candidate available. - - - - Long Term Support Initiative (LTSI) for Yocto Project kernels - is as follows: - - For Yocto Project releases 1.7, 1.8, and 2.0, - the LTSI kernel is linux-yocto-3.14. - - For Yocto Project releases 2.1, 2.2, and 2.3, - the LTSI kernel is linux-yocto-4.1. - - linux-yocto-4.1, - linux-yocto-4.4, and - linux-yocto-4.9 are all LTS - kernels. - - - - - The kernels are maintained using the Git revision control system that structures them using the familiar "tree", "branch", and "leaf" scheme. @@ -215,8 +150,8 @@ We will just talk about working with the temporary source code. For more information on how to get kernel source code onto your host system, see the - "Yocto Project Kernel" - bulleted item earlier in the manual. + "Setting Up to Work On a Kernel" + section. diff --git a/documentation/kernel-dev/kernel-dev-concepts-appx.xml b/documentation/kernel-dev/kernel-dev-concepts-appx.xml index 8ecd04d32c..3606301cc7 100644 --- a/documentation/kernel-dev/kernel-dev-concepts-appx.xml +++ b/documentation/kernel-dev/kernel-dev-concepts-appx.xml @@ -7,80 +7,169 @@
Yocto Project Kernel Development and Maintenance + - Kernels available through the Yocto Project, like other kernels, are based off the Linux - kernel releases from . - At the beginning of a major development cycle, the Yocto Project team - chooses its kernel based on factors such as release timing, the anticipated release - timing of final upstream kernel.org versions, and Yocto Project + Kernels available through the Yocto Project (Linux Yocto kernels), + like other kernels, are based off the Linux kernel releases from + . + At the beginning of a major Linux kernel development cycle, the + Yocto Project team chooses a Linux kernel based on factors such as + release timing, the anticipated release timing of final upstream + kernel.org versions, and Yocto Project feature requirements. - Typically, the kernel chosen is in the - final stages of development by the community. - In other words, the kernel is in the release - candidate or "rc" phase and not yet a final release. - But, by being in the final stages of external development, the team knows that the - kernel.org final release will clearly be within the early stages of - the Yocto Project development window. + Typically, the Linux kernel chosen is in the final stages of + development by the Linux community. + In other words, the Linux kernel is in the release candidate + or "rc" phase and has yet to reach final release. + But, by being in the final stages of external development, the + team knows that the kernel.org final release + will clearly be within the early stages of the Yocto Project + development window. + + + This balance allows the Yocto Project team to deliver the most + up-to-date Linux Yocto kernel possible, while still ensuring that + the team has a stable official release for the baseline Linux + kernel version. + + - This balance allows the team to deliver the most up-to-date kernel - possible, while still ensuring that the team has a stable official release for - the baseline Linux kernel version. + As implied earlier, the ultimate source for Linux Yocto kernels + are released kernels from kernel.org. + In addition to a foundational kernel from + kernel.org, the available Yocto Linux kernels + contain a mix of important new mainline developments, non-mainline + developments (when there is no alternative), 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 + needs for targeted hardware. + - The ultimate source for kernels available through the Yocto Project are released kernels - from kernel.org. - In addition to a foundational kernel from kernel.org, the - kernels available contain a mix of important new mainline - developments, non-mainline developments (when there is no alternative), - 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 needs for targeted hardware. + You can find a web interface to the Yocto Linux kernels in the + Source Repositories + at + . + If you look at the interface, you will see to the left a + grouping of Git repositories titled "Yocto Linux Kernel". + Within this group, you will find several Linux Yocto kernels + developed and included with Yocto Project releases: + + + linux-yocto-4.1: + The stable Yocto Project kernel to use with the Yocto + Project Release 2.0. + This kernel is based on the Linux 4.1 released kernel. + + + linux-yocto-4.4: + The stable Yocto Project kernel to use with the Yocto + Project Release 2.1. + This kernel is based on the Linux 4.4 released kernel. + + + linux-yocto-4.9: + The stable Yocto Project kernel to use with the Yocto + Project Release 2.3. + This kernel is based on the Linux 4.9 released kernel. + + + linux-yocto-4.10: + The default stable Yocto Project kernel to use with the + Yocto Project Release 2.3. + This kernel is based on the Linux 4.10 released kernel. + + + linux-yocto-dev: + A development kernel based on the latest upstream release + candidate available. + + + Notes + Long Term Support Initiative (LTSI) for Yocto Linux + kernels is as follows: + + + For Yocto Project releases 1.7, 1.8, and 2.0, + the LTSI kernel is + linux-yocto-3.14. + + + For Yocto Project releases 2.1, 2.2, and 2.3, + the LTSI kernel is linux-yocto-4.1. + + + linux-yocto-4.1, + linux-yocto-4.4, and + linux-yocto-4.9 are all LTS + kernels. + + + + - Once a kernel is officially released, the Yocto Project team goes into - their next development cycle, or upward revision (uprev) cycle, while still - continuing maintenance on the released kernel. + Once a Yocto Linux kernel is officially released, the Yocto + Project team goes into their next development cycle, or upward + revision (uprev) cycle, while still continuing maintenance on the + released kernel. It is important to note that the most sustainable and stable way - to include feature development upstream is through a kernel uprev process. - Back-porting hundreds of individual fixes and minor features from various - kernel versions is not sustainable and can easily compromise quality. + to include feature development upstream is through a kernel uprev + process. + Back-porting hundreds of individual fixes and minor features from + various kernel versions is not sustainable and can easily + compromise quality. + - During the uprev cycle, the Yocto Project team uses an ongoing analysis of - kernel development, BSP support, and release timing to select the best - possible kernel.org version. - The team continually monitors community kernel - development to look for significant features of interest. - The team does consider back-porting large features if they have a significant advantage. - User or community demand can also trigger a back-port or creation of new - functionality in the Yocto Project baseline kernel during the uprev cycle. + During the uprev cycle, the Yocto Project team uses an ongoing + analysis of Linux kernel development, BSP support, and release + timing to select the best possible kernel.org + Linux kernel version on which to base subsequent Yocto Linux + kernel development. + The team continually monitors Linux community kernel development + to look for significant features of interest. + The team does consider back-porting large features if they have a + significant advantage. + User or community demand can also trigger a back-port or creation + of new functionality in the Yocto Project baseline kernel during + the uprev cycle. + - Generally speaking, every new kernel both adds features and introduces new bugs. - These consequences are the basic properties of upstream kernel development and are - managed by the Yocto Project team's kernel strategy. - It is the Yocto Project team's policy to not back-port minor features to the released 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 medium sized change - from an evolving kernel can easily create mismatches, incompatibilities and very - subtle errors. + Generally speaking, every new Linux kernel both adds features and + 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. + It is the Yocto Project team's policy to not back-port minor + features to the released Linux Yocto 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 + medium sized change from an evolving Linux kernel can easily + create mismatches, incompatibilities and very subtle errors. + - These policies result in both a stable and a cutting - edge kernel that mixes forward ports of existing features and significant and critical - new functionality. - Forward porting functionality in the kernels available through the Yocto Project kernel - can be thought of as a "micro uprev." - The many “micro uprevs” produce a kernel version with a mix of - important new mainline, non-mainline, BSP developments and feature integrations. - This 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 kernels is evolving and the kernels are used in leading edge - feature and BSP development. + The policies described in this section result in both a stable + and a cutting edge Linux Yocto 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 + 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 + 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 + and the kernels are used in leading edge feature and BSP + development.
-- cgit v1.2.3-54-g00ecf