diff options
| -rw-r--r-- | documentation/kernel-manual/kernel-concepts.xml | 67 | ||||
| -rw-r--r-- | documentation/kernel-manual/kernel-doc-intro.xml | 22 | ||||
| -rw-r--r-- | documentation/kernel-manual/kernel-how-to.xml | 49 |
3 files changed, 64 insertions, 74 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> | ||
| 388 | WRITER NOTE: Put this in for post 1.1 if possible: | ||
| 389 | |||
| 390 | The tools that construct a kernel tree will be discussed later in this | ||
| 391 | document. The following tools form the foundation of the Yocto Project | ||
| 392 | kernel 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 & configuration compiler</para></listitem> | ||
| 399 | </itemizedlist> | ||
| 400 | </para> --> | ||
| 401 | </section> | 388 | </section> |
| 402 | </chapter> | 389 | </chapter> |
| 403 | <!-- | 390 | <!-- |
diff --git a/documentation/kernel-manual/kernel-doc-intro.xml b/documentation/kernel-manual/kernel-doc-intro.xml index c3fde6c731..0ffc019e73 100644 --- a/documentation/kernel-manual/kernel-doc-intro.xml +++ b/documentation/kernel-manual/kernel-doc-intro.xml | |||
| @@ -9,26 +9,26 @@ | |||
| 9 | <section id='book-intro'> | 9 | <section id='book-intro'> |
| 10 | <title>Introduction</title> | 10 | <title>Introduction</title> |
| 11 | <para> | 11 | <para> |
| 12 | The Yocto Project presents the kernel as a fully patched, history-clean Git | 12 | The Yocto Project presents kernels as a fully patched, history-clean Git |
| 13 | repository. | 13 | repositories. |
| 14 | The Git tree represents the selected features, board support, | 14 | Each repository represents selected features, board support, |
| 15 | and configurations extensively tested by the Yocto Project. | 15 | and configurations extensively tested by the Yocto Project. |
| 16 | The Yocto Project kernel allows the end user to leverage community | 16 | Yocto Project kernels allow the end user to leverage community |
| 17 | best practices to seamlessly manage the development, build and debug cycles. | 17 | best practices to seamlessly manage the development, build and debug cycles. |
| 18 | </para> | 18 | </para> |
| 19 | <para> | 19 | <para> |
| 20 | This manual describes the Yocto Project kernel by providing information | 20 | This manual describes Yocto Project kernels by providing information |
| 21 | on its history, organization, benefits, and use. | 21 | on history, organization, benefits, and use. |
| 22 | The manual consists of two sections: | 22 | The manual consists of two sections: |
| 23 | <itemizedlist> | 23 | <itemizedlist> |
| 24 | <listitem><para><emphasis>Concepts:</emphasis> Describes concepts behind the kernel. | 24 | <listitem><para><emphasis>Concepts:</emphasis> Describes concepts behind a kernel. |
| 25 | You will understand how the kernel is organized and why it is organized in | 25 | You will understand how a kernel is organized and why it is organized in |
| 26 | the way it is. You will understand the benefits of the kernel's organization | 26 | the way it is. You will understand the benefits of a kernel's organization |
| 27 | and the mechanisms used to work with the kernel and how to apply it in your | 27 | and the mechanisms used to work with the kernel and how to apply it in your |
| 28 | design process.</para></listitem> | 28 | design process.</para></listitem> |
| 29 | <listitem><para><emphasis>Using the Kernel:</emphasis> Describes best practices | 29 | <listitem><para><emphasis>Using a Kernel:</emphasis> Describes best practices |
| 30 | and "how-to" information | 30 | and "how-to" information |
| 31 | that lets you put the kernel to practical use. | 31 | that lets you put a kernel to practical use. |
| 32 | Some examples are how to examine changes in a branch and how to | 32 | Some examples are how to examine changes in a branch and how to |
| 33 | save kernel modifications.</para></listitem> | 33 | save kernel modifications.</para></listitem> |
| 34 | </itemizedlist> | 34 | </itemizedlist> |
diff --git a/documentation/kernel-manual/kernel-how-to.xml b/documentation/kernel-manual/kernel-how-to.xml index 2d7f1df97e..b1916420d6 100644 --- a/documentation/kernel-manual/kernel-how-to.xml +++ b/documentation/kernel-manual/kernel-how-to.xml | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | <section id='actions-org'> | 10 | <section id='actions-org'> |
| 11 | <title>Introduction</title> | 11 | <title>Introduction</title> |
| 12 | <para> | 12 | <para> |
| 13 | This chapter describes how to accomplish tasks involving the kernel's tree structure. | 13 | This chapter describes how to accomplish tasks involving a kernel's tree structure. |
| 14 | The information is designed to help the developer that wants to modify the Yocto | 14 | The information is designed to help the developer that wants to modify the Yocto |
| 15 | Project kernel and contribute changes upstream to the Yocto Project. | 15 | Project kernel and contribute changes upstream to the Yocto Project. |
| 16 | The information covers the following: | 16 | The information covers the following: |
| @@ -25,7 +25,7 @@ | |||
| 25 | <section id='tree-construction'> | 25 | <section id='tree-construction'> |
| 26 | <title>Tree Construction</title> | 26 | <title>Tree Construction</title> |
| 27 | <para> | 27 | <para> |
| 28 | This section describes construction of the Yocto Project kernel repositories | 28 | This section describes construction of the Yocto Project kernel source repositories |
| 29 | as accomplished by the Yocto Project team to create kernel repositories. | 29 | as accomplished by the Yocto Project team to create kernel repositories. |
| 30 | These kernel repositories are found at | 30 | These kernel repositories are found at |
| 31 | <ulink url='&YOCTO_GIT_URL;/cgit.cgi'>&YOCTO_GIT_URL;/cgit.cgi</ulink> | 31 | <ulink url='&YOCTO_GIT_URL;/cgit.cgi'>&YOCTO_GIT_URL;/cgit.cgi</ulink> |
| @@ -34,25 +34,27 @@ | |||
| 34 | compiling and executing the set of feature descriptions for every BSP/feature | 34 | compiling and executing the set of feature descriptions for every BSP/feature |
| 35 | in the product. | 35 | in the product. |
| 36 | Those feature descriptions list all necessary patches, | 36 | Those feature descriptions list all necessary patches, |
| 37 | configuration, branching, tagging and feature divisions found in the kernel. | 37 | configuration, branching, tagging and feature divisions found in a kernel. |
| 38 | Thus, the Yocto Project kernel repository (or tree) is built. | 38 | Thus, the Yocto Project kernel repository (or tree) is built. |
| 39 | </para> | 39 | </para> |
| 40 | <para> | 40 | <para> |
| 41 | The existence of this tree allows you to access and clone a particular | 41 | The existence of this tree allows you to access and clone a particular |
| 42 | Linux Yocto kernel repository and use it to build images based on their configurations | 42 | Yocto Project kernel repository and use it to build images based on their configurations |
| 43 | and features. | 43 | and features. |
| 44 | </para> | 44 | </para> |
| 45 | <para> | 45 | <para> |
| 46 | You can find the files used to describe all the valid features and BSPs | 46 | You can find the files used to describe all the valid features and BSPs |
| 47 | in the Yocto Project kernel in any clone of the Linux Yocto kernel source repository Git tree. | 47 | in the Yocto Project kernel in any clone of the Yocto Project kernel source repository |
| 48 | Git tree. | ||
| 48 | For example, the following command clones the Yocto Project baseline kernel that | 49 | For example, the following command clones the Yocto Project baseline kernel that |
| 49 | branched off of <filename>linux.org</filename> version 3.4: | 50 | branched off of <filename>linux.org</filename> version 3.4: |
| 50 | <literallayout class='monospaced'> | 51 | <literallayout class='monospaced'> |
| 51 | $ git clone git://git.yoctoproject.org/linux-yocto-3.4 | 52 | $ git clone git://git.yoctoproject.org/linux-yocto-3.4 |
| 52 | </literallayout> | 53 | </literallayout> |
| 53 | For another example of how to set up a local Git repository of the Linux Yocto | 54 | For another example of how to set up a local Git repository of the Yocto Project |
| 54 | kernel files, see the | 55 | kernel files, see the |
| 55 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>" bulleted item in The Yocto Project Development Manual. | 56 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>" bulleted |
| 57 | item in The Yocto Project Development Manual. | ||
| 56 | </para> | 58 | </para> |
| 57 | <para> | 59 | <para> |
| 58 | Once you have cloned the kernel Git repository on your local machine, you can | 60 | Once you have cloned the kernel Git repository on your local machine, you can |
| @@ -85,7 +87,7 @@ | |||
| 85 | </para> | 87 | </para> |
| 86 | <para> | 88 | <para> |
| 87 | The following steps describe what happens when the Yocto Project Team constructs | 89 | The following steps describe what happens when the Yocto Project Team constructs |
| 88 | the Yocto Linux kernel source Git repository (or tree) found at | 90 | the Yocto Project kernel source Git repository (or tree) found at |
| 89 | <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink> given the | 91 | <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink> given the |
| 90 | introduction of a new top-level kernel feature or BSP. | 92 | introduction of a new top-level kernel feature or BSP. |
| 91 | These are the actions that effectively create the tree | 93 | These are the actions that effectively create the tree |
| @@ -130,7 +132,7 @@ | |||
| 130 | </para> | 132 | </para> |
| 131 | <para> | 133 | <para> |
| 132 | The kernel tree is now ready for developer consumption to be locally cloned, | 134 | The kernel tree is now ready for developer consumption to be locally cloned, |
| 133 | configured, and built into a Linux Yocto kernel specific to some target hardware. | 135 | configured, and built into a Yocto Project kernel specific to some target hardware. |
| 134 | <note><para>The generated <filename>meta-*</filename> directories add to the kernel | 136 | <note><para>The generated <filename>meta-*</filename> directories add to the kernel |
| 135 | as shipped with the Yocto Project release. | 137 | as shipped with the Yocto Project release. |
| 136 | Any add-ons and configuration data are applied to the end of an existing branch. | 138 | Any add-ons and configuration data are applied to the end of an existing branch. |
| @@ -149,7 +151,7 @@ | |||
| 149 | <section id='build-strategy'> | 151 | <section id='build-strategy'> |
| 150 | <title>Build Strategy</title> | 152 | <title>Build Strategy</title> |
| 151 | <para> | 153 | <para> |
| 152 | Once a local Git repository of the Linux Yocto kernel exists on a development system, | 154 | Once a local Git repository of the Yocto Project kernel exists on a development system, |
| 153 | you can consider the compilation phase of kernel development - building a kernel image. | 155 | you can consider the compilation phase of kernel development - building a kernel image. |
| 154 | Some prerequisites exist that are validated by the build process before compilation | 156 | Some prerequisites exist that are validated by the build process before compilation |
| 155 | starts: | 157 | starts: |
| @@ -166,7 +168,7 @@ | |||
| 166 | </itemizedlist> | 168 | </itemizedlist> |
| 167 | 169 | ||
| 168 | <para> | 170 | <para> |
| 169 | The Yocto Project makes sure these conditions exist before attempting compilation. | 171 | The OpenEmbedded build system makes sure these conditions exist before attempting compilation. |
| 170 | Other means, however, do exist, such as as bootstrapping a BSP, see | 172 | Other means, however, do exist, such as as bootstrapping a BSP, see |
| 171 | the "<link linkend='workflow-examples'>Workflow Examples</link>". | 173 | the "<link linkend='workflow-examples'>Workflow Examples</link>". |
| 172 | </para> | 174 | </para> |
| @@ -308,7 +310,7 @@ | |||
| 308 | <title>Show a Particular Feature or Branch Change</title> | 310 | <title>Show a Particular Feature or Branch Change</title> |
| 309 | 311 | ||
| 310 | <para> | 312 | <para> |
| 311 | Developers use tags in the Yocto Project tree to divide changes for significant | 313 | Developers use tags in the Yocto Project kernel tree to divide changes for significant |
| 312 | features or branches. | 314 | features or branches. |
| 313 | Once you know a particular tag, you can use Git commands | 315 | Once you know a particular tag, you can use Git commands |
| 314 | to show changes associated with the tag and find the branches that contain | 316 | to show changes associated with the tag and find the branches that contain |
| @@ -523,7 +525,7 @@ | |||
| 523 | "permanent" and you should not modify them. | 525 | "permanent" and you should not modify them. |
| 524 | If the commits need to be changed, you can incrementally do so with new commits. | 526 | If the commits need to be changed, you can incrementally do so with new commits. |
| 525 | These practices follow standard Git workflow and the <filename>kernel.org</filename> best | 527 | These practices follow standard Git workflow and the <filename>kernel.org</filename> best |
| 526 | practices, which Yocto Project recommends. | 528 | practices, which is recommended. |
| 527 | <note> | 529 | <note> |
| 528 | It is recommended to tag or branch before adding changes to a Yocto Project | 530 | It is recommended to tag or branch before adding changes to a Yocto Project |
| 529 | BSP or before creating a new one. | 531 | BSP or before creating a new one. |
| @@ -691,7 +693,7 @@ | |||
| 691 | However, if the patches are manually applied to a secondary tree and then | 693 | However, if the patches are manually applied to a secondary tree and then |
| 692 | that tree is checked into the SCM, you can lose change information such as | 694 | that tree is checked into the SCM, you can lose change information such as |
| 693 | commit logs. | 695 | commit logs. |
| 694 | The Yocto Project does not recommend this process. | 696 | This process is not recommended. |
| 695 | </para> | 697 | </para> |
| 696 | 698 | ||
| 697 | <para> | 699 | <para> |
| @@ -708,14 +710,14 @@ | |||
| 708 | <para> | 710 | <para> |
| 709 | This section describes kernel development in an SCM other than Git, | 711 | This section describes kernel development in an SCM other than Git, |
| 710 | which is not the same as exporting changes to another SCM described earlier. | 712 | which is not the same as exporting changes to another SCM described earlier. |
| 711 | For this scenario, you use the Yocto Project build system to | 713 | For this scenario, you use the OpenEmbedded build system to |
| 712 | develop the kernel in a different SCM. | 714 | develop the kernel in a different SCM. |
| 713 | The following must be true for you to accomplish this: | 715 | The following must be true for you to accomplish this: |
| 714 | <itemizedlist> | 716 | <itemizedlist> |
| 715 | <listitem><para>The delivered Yocto Project kernel must be exported into the second | 717 | <listitem><para>The delivered Yocto Project kernel must be exported into the second |
| 716 | SCM.</para></listitem> | 718 | SCM.</para></listitem> |
| 717 | <listitem><para>Development must be exported from that secondary SCM into a | 719 | <listitem><para>Development must be exported from that secondary SCM into a |
| 718 | format that can be used by the Yocto Project build system.</para></listitem> | 720 | format that can be used by the OpenEmbedded build system.</para></listitem> |
| 719 | </itemizedlist> | 721 | </itemizedlist> |
| 720 | </para> | 722 | </para> |
| 721 | 723 | ||
| @@ -791,9 +793,10 @@ | |||
| 791 | <para> | 793 | <para> |
| 792 | The basic steps you need to follow are: | 794 | The basic steps you need to follow are: |
| 793 | <orderedlist> | 795 | <orderedlist> |
| 794 | <listitem><para><emphasis>Make sure you have the Yocto Project source tree available:</emphasis> | 796 | <listitem><para><emphasis>Make sure you have set up a local source directory:</emphasis> |
| 795 | You should either create a Yocto Project Git repository (recommended), or | 797 | You must create a local <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source |
| 796 | you should get the Yocto Project release tarball and extract it.</para></listitem> | 798 | directory</ulink> by either creating a Git repository (recommended) or |
| 799 | extracting a Yocto Project release tarball.</para></listitem> | ||
| 797 | <listitem><para><emphasis>Choose an existing BSP available with the Yocto Project:</emphasis> | 800 | <listitem><para><emphasis>Choose an existing BSP available with the Yocto Project:</emphasis> |
| 798 | Try to map your board features as closely to the features of a BSP that is | 801 | Try to map your board features as closely to the features of a BSP that is |
| 799 | already supported and exists in the Yocto Project. | 802 | already supported and exists in the Yocto Project. |
| @@ -803,12 +806,12 @@ | |||
| 803 | on the Yocto Project's Download page at | 806 | on the Yocto Project's Download page at |
| 804 | <ulink url='&YOCTO_HOME_URL;/download'></ulink>.</para></listitem> | 807 | <ulink url='&YOCTO_HOME_URL;/download'></ulink>.</para></listitem> |
| 805 | <listitem><para><emphasis>Be sure you have the Base BSP:</emphasis> | 808 | <listitem><para><emphasis>Be sure you have the Base BSP:</emphasis> |
| 806 | You need to either have the Yocto Project Git repository set up or download | 809 | You need to either have a local Git repository of the base BSP set up or |
| 807 | the tarball of the base BSP. | 810 | have downloaded and extracted the files from a release BSP tarball. |
| 808 | Either method gives you access to the BSP source files.</para></listitem> | 811 | Either method gives you access to the BSP source files.</para></listitem> |
| 809 | <listitem><para><emphasis>Make a copy of the existing BSP, thus isolating your new | 812 | <listitem><para><emphasis>Make a copy of the existing BSP, thus isolating your new |
| 810 | BSP work:</emphasis> | 813 | BSP work:</emphasis> |
| 811 | Copying the existing BSP structure gives you a new area in which to work.</para></listitem> | 814 | Copying the existing BSP file structure gives you a new area in which to work.</para></listitem> |
| 812 | <listitem><para><emphasis>Make configuration and recipe changes to your new BSP:</emphasis> | 815 | <listitem><para><emphasis>Make configuration and recipe changes to your new BSP:</emphasis> |
| 813 | Configuration changes involve the files in the BSP's <filename>conf</filename> | 816 | Configuration changes involve the files in the BSP's <filename>conf</filename> |
| 814 | directory. | 817 | directory. |
| @@ -824,7 +827,7 @@ | |||
| 824 | changes to the <filename>local.conf</filename> and <filename>bblayers.conf</filename> | 827 | changes to the <filename>local.conf</filename> and <filename>bblayers.conf</filename> |
| 825 | files.</para></listitem> | 828 | files.</para></listitem> |
| 826 | <listitem><para><emphasis>Build the image:</emphasis> | 829 | <listitem><para><emphasis>Build the image:</emphasis> |
| 827 | The Yocto Project uses the BitBake tool to create the image. | 830 | The OpenEmbedded build system uses BitBake to create the image. |
| 828 | You need to decide on the type of image you are going to build (e.g. minimal, base, | 831 | You need to decide on the type of image you are going to build (e.g. minimal, base, |
| 829 | core, sato, and so forth) and then start the build using the <filename>bitbake</filename> | 832 | core, sato, and so forth) and then start the build using the <filename>bitbake</filename> |
| 830 | command.</para></listitem> | 833 | command.</para></listitem> |
