diff options
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/kernel-dev/kernel-dev-intro.xml | 137 |
1 files changed, 97 insertions, 40 deletions
diff --git a/documentation/kernel-dev/kernel-dev-intro.xml b/documentation/kernel-dev/kernel-dev-intro.xml index 68fac80ac7..2523b74b7d 100644 --- a/documentation/kernel-dev/kernel-dev-intro.xml +++ b/documentation/kernel-dev/kernel-dev-intro.xml | |||
@@ -4,22 +4,93 @@ | |||
4 | 4 | ||
5 | <chapter id='kernel-dev-intro'> | 5 | <chapter id='kernel-dev-intro'> |
6 | 6 | ||
7 | <title>Yocto Project Kernel Development Manual</title> | 7 | <title>Introduction</title> |
8 | |||
9 | <section id='kernel-dev-introduction'> | ||
10 | <title>Introduction</title> | ||
11 | 8 | ||
12 | <para> | 9 | <para> |
13 | Regardless of how you intend to make use of the Yocto Project, chances are you | 10 | Regardless of how you intend to make use of the Yocto Project, |
14 | are going to need to work with the Linux kernel. The Yocto Project provides a | 11 | chances are you are going to need to work with the Linux kernel. |
15 | powerful set of tools for managing Linux kernel sources and configuration data. | 12 | The Yocto Project provides a powerful set of tools for managing |
16 | If you want to make a single configuration change, apply a couple of patches, or | 13 | Linux kernel sources and configuration data. |
17 | work with your own sources, the Yocto Project has tooling in place to help you | 14 | If you want to make a single configuration change, apply a couple |
18 | do it. | 15 | of patches, or work with your own sources, this tooling can |
16 | help you. | ||
19 | </para> | 17 | </para> |
20 | 18 | ||
21 | <para> | 19 | <section id='kernel-dev-background'> |
22 | Each Yocto Project release introduces a new set of linux-yocto kernel recipes, | 20 | <title>Background</title> |
21 | |||
22 | <para> | ||
23 | Each Yocto Project release introduces a new set of linux-yocto | ||
24 | kernel recipes that tracks the latest upstream developments and | ||
25 | introduces newly supported platforms. | ||
26 | In addition to the new kernel recipes, the previous recipes are | ||
27 | refreshed and supported for at least one additional release. | ||
28 | As they align, these previous releases are updated to include the | ||
29 | latest from the Long Term Support Initiative (LTSI) project. | ||
30 | Besides these recipes, a <filename>linux-yocto-dev.bb</filename> | ||
31 | recipe is available for working with the very latest in upstream | ||
32 | Linux kernel development as well as metadata development. | ||
33 | </para> | ||
34 | |||
35 | <para> | ||
36 | If you do not maintain your own kernel sources and need to make | ||
37 | only minimal changes to the sources, these recipes provide a | ||
38 | vetted base upon which to layer your changes. | ||
39 | Doing so allows you to benefit from the continual kernel | ||
40 | integration and testing performed during development of the | ||
41 | Yocto Project. | ||
42 | </para> | ||
43 | |||
44 | <para> | ||
45 | If, instead, you have a very specific Linux kernel source tree | ||
46 | and are unable to align with one of the many official linux-yocto | ||
47 | releases, an alternative exists by which you can use the Yocto | ||
48 | Project Linux kernel tools with your own sources. | ||
49 | </para> | ||
50 | </section> | ||
51 | |||
52 | <section id='kernel-dev-other-resources'> | ||
53 | <title>Other Resources</title> | ||
54 | |||
55 | <para> | ||
56 | The sections that follow provide instructions for completing | ||
57 | specific Linux kernel development tasks. | ||
58 | These instructions assume you are familiar with working with | ||
59 | <ulink url='http://developer.berlios.de/projects/bitbake/'>BitBake</ulink> | ||
60 | recipes and basic open-source development tools. | ||
61 | Understanding these concepts will facilitate the process of working | ||
62 | with the kernel recipes. | ||
63 | If you find you need some additional background, please be sure to | ||
64 | review and understand the following documentation: | ||
65 | <itemizedlist> | ||
66 | <listitem><para><ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> | ||
67 | </para></listitem> | ||
68 | <listitem><para>The "<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-temporary-source-code'>Modifying Temporary Source Code</ulink>" | ||
69 | section in the Yocto Project Development Manual | ||
70 | </para></listitem> | ||
71 | <listitem><para>The "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>" section | ||
72 | in the Yocto Project Development Manual</para></listitem> | ||
73 | <listitem><para>The "<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-the-kernel'>Modifying the Kernel</ulink>" section | ||
74 | in the Yocto Project Development Manual.</para></listitem> | ||
75 | </itemizedlist> | ||
76 | </para> | ||
77 | |||
78 | <para> | ||
79 | Finally, while this document focuses on the manual creation of | ||
80 | recipes, patches, and configuration files, the Yocto Project | ||
81 | Board Support Package (BSP) tools are available to automate | ||
82 | this process with existing content and work well to create the | ||
83 | initial framework and boilerplate code. | ||
84 | For details on these tools, see the | ||
85 | "<ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>Using the Yocto Project's BSP Tools</ulink>" | ||
86 | section in the Yocto Project Board Support Package (BSP) Developer's | ||
87 | Guide. | ||
88 | </para> | ||
89 | |||
90 | <para> | ||
91 | Original Text: | ||
92 | <literallayout class='monospaced'> | ||
93 | Each Yocto Project release introduces a new set of linux-yocto kernel recipes, | ||
23 | tracking the latest upstream developments and introducing newly supported | 94 | tracking the latest upstream developments and introducing newly supported |
24 | platforms. In addition to the new kernel recipes, the previous recipes are | 95 | platforms. In addition to the new kernel recipes, the previous recipes are |
25 | refreshed and supported for at least one additional release. As they align, | 96 | refreshed and supported for at least one additional release. As they align, |
@@ -27,54 +98,40 @@ these previous releases are updated to include the latest from the LTSI project. | |||
27 | Besides these recipes, a linux-yocto-dev recipe is available for working with | 98 | Besides these recipes, a linux-yocto-dev recipe is available for working with |
28 | the very latest in upstream Linux kernel development as well as meta-data | 99 | the very latest in upstream Linux kernel development as well as meta-data |
29 | development. | 100 | development. |
30 | </para> | ||
31 | 101 | ||
32 | <para> | 102 | If you do not maintain your own kernel sources and need to make only minimal |
33 | If you do not maintain your own kernel sources and need to make only minimal | ||
34 | changes to the sources, these recipes provide a vetted base upon which to layer | 103 | changes to the sources, these recipes provide a vetted base upon which to layer |
35 | your changes. Doing so allows you to benefit from the continual kernel | 104 | your changes. Doing so allows you to benefit from the continual kernel |
36 | integration and testing performed during development of the Yocto Project. | 105 | integration and testing performed during development of the Yocto Project. |
37 | </para> | ||
38 | 106 | ||
39 | <para> | 107 | If, instead, you have a very specific Linux kernel source tree and are unable to |
40 | If, instead, you have a very specific Linux kernel source tree and are unable to | ||
41 | align with one of the many official linux-yocto releases, an alternative | 108 | align with one of the many official linux-yocto releases, an alternative |
42 | exists by which you can use the Yocto Project Linux kernel tools with your own | 109 | exists by which you can use the Yocto Project Linux kernel tools with your own |
43 | sources. | 110 | sources. |
44 | </para> | ||
45 | 111 | ||
46 | <para> | 112 | The sections that follow provide instructions for completing specific Linux |
47 | The sections that follow provide instructions for completing specific Linux | ||
48 | kernel development tasks. They assume familiarity with working with bitbake | 113 | kernel development tasks. They assume familiarity with working with bitbake |
49 | recipes and basic open-source development tools. Understanding these concepts | 114 | recipes and basic open-source development tools. Understanding these concepts |
50 | will facilitate the process of working with the kernel recipes. If you find you | 115 | will facilitate the process of working with the kernel recipes. If you find you |
51 | need some additional background, please be sure to review and understand the | 116 | need some additional background, please be sure to review and understand the |
52 | following documentation: | 117 | following documentation: |
53 | <itemizedlist> | 118 | |
54 | <listitem><para><emphasis>Yocto Project Quick Start</emphasis> | 119 | o Yocto Project Getting Started Guide |
55 | </para></listitem> | 120 | o Yocto Project Development Manual |
56 | <listitem><para><emphasis>Yocto Project Development Manual</emphasis> | 121 | - 4.3 Modifying Temporary Source Code |
57 | <itemizedlist> | 122 | - 5.1 Understanding and Creating Layers |
58 | <listitem><para><emphasis>4.3 Modifying Temporary Source Code</emphasis> | 123 | - 4.1.2 Modifying the Kernel |
59 | </para></listitem> | ||
60 | <listitem><para><emphasis>5.1 Understanding and Creating Layers</emphasis> | ||
61 | </para></listitem> | ||
62 | <listitem><para><emphasis>4.1.2 Modifying the Kernel</emphasis> | ||
63 | (This section should be retired, as well as 5.6, 5.7 - with this document | 124 | (This section should be retired, as well as 5.6, 5.7 - with this document |
64 | providing the necessary information)</para></listitem> | 125 | providing the necessary information) |
65 | </itemizedlist></para></listitem> | ||
66 | </itemizedlist> | ||
67 | </para> | ||
68 | 126 | ||
69 | <para> | 127 | Finally, while this document focuses on the manual creation of recipes, patches, |
70 | Finally, while this document focuses on the manual creation of recipes, patches, | ||
71 | and configuration files, the Yocto Project BSP tools are available to automate | 128 | and configuration files, the Yocto Project BSP tools are available to automate |
72 | this process with existing content and work well to create the initial framework | 129 | this process with existing content and work well to create the initial framework |
73 | and boilerplate code. For details, refer to the Yocto Project BSP Developer's | 130 | and boilerplate code. For details, refer to the Yocto Project BSP Developer's |
74 | Guide. | 131 | Guide. |
75 | </para> | 132 | </literallayout> |
76 | </section> | 133 | </para> |
77 | 134 | </section> | |
78 | </chapter> | 135 | </chapter> |
79 | <!-- | 136 | <!-- |
80 | vim: expandtab tw=80 ts=4 | 137 | vim: expandtab tw=80 ts=4 |