diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2017-06-30 14:51:55 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-07-12 00:28:15 +0100 |
commit | 431ceaea6c7786df0b78bf441752229515ac5f0d (patch) | |
tree | 4f459030200b7c809a7d900ddbd7db10f01e664d /documentation/dev-manual | |
parent | 1d60050201b792c4536cd94e0c9a04fd122eb0d4 (diff) | |
download | poky-431ceaea6c7786df0b78bf441752229515ac5f0d.tar.gz |
kernel-dev, dev-manual: Moved Kernel workflow section to kernel-dev
Fixes [YOCTO #11630]
The overview section of modifying the kernel needed to be in the
kernel-dev manual and not in the dev-manual. I moved it and took
care of all the links and external references throughout the YP
doc set. One figure was involved that had to be moved to the figures
folder in kernel-dev from dev-manual. That is why the Makefile had
to be edited.
(From yocto-docs rev: 3a704b64544678785b883f82d6e82aedac6790c5)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 147 | ||||
-rw-r--r-- | documentation/dev-manual/figures/kernel-dev-flow.png | bin | 35561 -> 0 bytes |
2 files changed, 0 insertions, 147 deletions
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index 0055bccfed..b1b5efa82c 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml | |||
@@ -41,153 +41,6 @@ | |||
41 | </itemizedlist> | 41 | </itemizedlist> |
42 | </para> | 42 | </para> |
43 | 43 | ||
44 | <section id='system-development-model'> | ||
45 | <title>System Development Workflow</title> | ||
46 | |||
47 | <para> | ||
48 | System development involves modification or creation of an image that you want to run on | ||
49 | a specific hardware target. | ||
50 | Usually, when you want to create an image that runs on embedded hardware, the image does | ||
51 | not require the same number of features that a full-fledged Linux distribution provides. | ||
52 | Thus, you can create a much smaller image that is designed to use only the | ||
53 | features for your particular hardware. | ||
54 | </para> | ||
55 | |||
56 | <para> | ||
57 | To help you understand how system development works in the Yocto Project, this section | ||
58 | covers two types of image development: BSP creation and kernel modification or | ||
59 | configuration. | ||
60 | </para> | ||
61 | |||
62 | <section id='modifying-the-kernel'> | ||
63 | <title><anchor id='kernel-spot' />Modifying the Kernel</title> | ||
64 | |||
65 | <para> | ||
66 | Kernel modification involves changing the Yocto Project kernel, which could involve changing | ||
67 | configuration options as well as adding new kernel recipes. | ||
68 | Configuration changes can be added in the form of configuration fragments, while recipe | ||
69 | modification comes through the kernel's <filename>recipes-kernel</filename> area | ||
70 | in a kernel layer you create. | ||
71 | </para> | ||
72 | |||
73 | <para> | ||
74 | The remainder of this section presents a high-level overview of the Yocto Project | ||
75 | kernel architecture and the steps to modify the kernel. | ||
76 | You can reference the | ||
77 | "<link linkend='patching-the-kernel'>Patching the Kernel</link>" section | ||
78 | for an example that changes the source code of the kernel. | ||
79 | For information on how to configure the kernel, see the | ||
80 | "<link linkend='configuring-the-kernel'>Configuring the Kernel</link>" section. | ||
81 | For more information on the kernel and on modifying the kernel, see the | ||
82 | <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>. | ||
83 | </para> | ||
84 | |||
85 | <section id='kernel-modification-workflow'> | ||
86 | <title>Kernel Modification Workflow</title> | ||
87 | |||
88 | <para> | ||
89 | This illustration and the following list summarizes the kernel modification general workflow. | ||
90 | </para> | ||
91 | |||
92 | <para> | ||
93 | <imagedata fileref="figures/kernel-dev-flow.png" | ||
94 | width="6in" depth="5in" align="center" scalefit="1" /> | ||
95 | </para> | ||
96 | |||
97 | <para> | ||
98 | <orderedlist> | ||
99 | <listitem><para><emphasis>Set up your host development system to support | ||
100 | development using the Yocto Project</emphasis>: See | ||
101 | "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distribution</ulink>" and | ||
102 | "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" sections both | ||
103 | in the Yocto Project Quick Start for requirements.</para></listitem> | ||
104 | <listitem><para><emphasis>Establish a local copy of project files on your | ||
105 | system</emphasis>: Having the | ||
106 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink> | ||
107 | on your system gives you access to the build process and tools | ||
108 | you need. | ||
109 | For information on how to get these files, see the | ||
110 | "<link linkend='cloning-the-poky-repository'>Cloning the <filename>poky</filename> Repository</link>" | ||
111 | section. | ||
112 | </para></listitem> | ||
113 | <listitem><para><emphasis>Establish the temporary kernel source files</emphasis>: | ||
114 | Temporary kernel source files are kept in the | ||
115 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> | ||
116 | created by the | ||
117 | OpenEmbedded build system when you run BitBake. | ||
118 | If you have never built the kernel in which you are | ||
119 | interested, you need to run an initial build to | ||
120 | establish local kernel source files.</para> | ||
121 | <para>If you are building an image for the first time, you need to get the build | ||
122 | environment ready by sourcing an environment setup script | ||
123 | (i.e. <filename>oe-init-build-env</filename> or | ||
124 | <filename>oe-init-build-env-memres</filename>). | ||
125 | You also need to be sure two key configuration files | ||
126 | (<filename>local.conf</filename> and <filename>bblayers.conf</filename>) | ||
127 | are configured appropriately.</para> | ||
128 | <para>The entire process for building an image is overviewed in the | ||
129 | "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" | ||
130 | section of the Yocto Project Quick Start. | ||
131 | You might want to reference this information. | ||
132 | You can find more information on BitBake in the | ||
133 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
134 | </para> | ||
135 | <para>The build process supports several types of images to satisfy different needs. | ||
136 | See the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in | ||
137 | the Yocto Project Reference Manual for information on supported images. | ||
138 | </para></listitem> | ||
139 | <listitem><para><emphasis>Make changes to the kernel source code if | ||
140 | applicable</emphasis>: Modifying the kernel does not always mean directly | ||
141 | changing source files. | ||
142 | However, if you have to do this, you make the changes to the files in the | ||
143 | Build Directory.</para></listitem> | ||
144 | <listitem><para><emphasis>Make kernel configuration changes if applicable</emphasis>: | ||
145 | If your situation calls for changing the kernel's | ||
146 | configuration, you can use | ||
147 | <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'><filename>menuconfig</filename></ulink>, | ||
148 | which allows you to interactively develop and test the | ||
149 | configuration changes you are making to the kernel. | ||
150 | Saving changes you make with | ||
151 | <filename>menuconfig</filename> updates | ||
152 | the kernel's <filename>.config</filename> file. | ||
153 | <note><title>Warning</title> | ||
154 | Try to resist the temptation to directly edit an | ||
155 | existing <filename>.config</filename> file, which is | ||
156 | found in the Build Directory among the source code | ||
157 | used for the build (e.g. see the workflow illustration | ||
158 | in the | ||
159 | "<link linkend='kernel-modification-workflow'>Kernel Modification Workflow</link>" | ||
160 | section). | ||
161 | Doing so, can produce unexpected results when the | ||
162 | OpenEmbedded build system regenerates the configuration | ||
163 | file. | ||
164 | </note> | ||
165 | Once you are satisfied with the configuration | ||
166 | changes made using <filename>menuconfig</filename> | ||
167 | and you have saved them, you can directly compare the | ||
168 | resulting <filename>.config</filename> file against an | ||
169 | existing original and gather those changes into a | ||
170 | <link linkend='creating-config-fragments'>configuration fragment file</link> | ||
171 | to be referenced from within the kernel's | ||
172 | <filename>.bbappend</filename> file.</para> | ||
173 | |||
174 | <para>Additionally, if you are working in a BSP layer | ||
175 | and need to modify the BSP's kernel's configuration, | ||
176 | you can use the | ||
177 | <ulink url='&YOCTO_DOCS_BSP_URL;#managing-kernel-patches-and-config-items-with-yocto-kernel'><filename>yocto-kernel</filename></ulink> | ||
178 | script as well as <filename>menuconfig</filename>. | ||
179 | The <filename>yocto-kernel</filename> script lets | ||
180 | you interactively set up kernel configurations. | ||
181 | </para></listitem> | ||
182 | <listitem><para><emphasis>Rebuild the kernel image with your changes</emphasis>: | ||
183 | Rebuilding the kernel image applies your changes. | ||
184 | </para></listitem> | ||
185 | </orderedlist> | ||
186 | </para> | ||
187 | </section> | ||
188 | </section> | ||
189 | </section> | ||
190 | |||
191 | <section id="dev-modifying-source-code"> | 44 | <section id="dev-modifying-source-code"> |
192 | <title>Modifying Source Code</title> | 45 | <title>Modifying Source Code</title> |
193 | 46 | ||
diff --git a/documentation/dev-manual/figures/kernel-dev-flow.png b/documentation/dev-manual/figures/kernel-dev-flow.png deleted file mode 100644 index 009105d122..0000000000 --- a/documentation/dev-manual/figures/kernel-dev-flow.png +++ /dev/null | |||
Binary files differ | |||