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> |