diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2017-08-18 15:12:33 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-02 00:52:48 +0100 |
commit | a64831cad79e46c50509aad89f6fefad71123b60 (patch) | |
tree | 4b8e92879e4a6444efd696f2caf9dd7bd92297d9 /documentation/dev-manual | |
parent | 25aacfe1dadad0e762dccd1c1d061ea77c25a3a3 (diff) | |
download | poky-a64831cad79e46c50509aad89f6fefad71123b60.tar.gz |
kernel-dev, dev-manual: Moved Kernel prep steps
The dev-manual had a place-holder section for getting the
build host ready for using YP and then doing kernel
development. This stuff is better suited for the actual
kernel development manual. I moved the section. Moving
created several broken links in the manual set that had to
be fixed.
In the dev-manual, I updated the introductory list to include
the newly moved kernel stuff.
(From yocto-docs rev: 2e21260bb5f84e9e30eb353ec841d5962e8a7642)
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-start.xml | 127 |
1 files changed, 3 insertions, 124 deletions
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml index 85dff0b673..94595756b8 100644 --- a/documentation/dev-manual/dev-manual-start.xml +++ b/documentation/dev-manual/dev-manual-start.xml | |||
@@ -45,7 +45,9 @@ | |||
45 | </para></listitem> | 45 | </para></listitem> |
46 | <listitem><para> | 46 | <listitem><para> |
47 | <emphasis>Kernel Development:</emphasis> | 47 | <emphasis>Kernel Development:</emphasis> |
48 | Need some kernel links. | 48 | See the |
49 | "<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#preparing-the-build-host-to-work-on-the-kernel'>Preparing the Build Host to Work on the Kernel</ulink>" | ||
50 | section in the Yocto Project Linux Kernel Development Manual. | ||
49 | </para></listitem> | 51 | </para></listitem> |
50 | <listitem><para> | 52 | <listitem><para> |
51 | <emphasis>Eclipse Development:</emphasis> | 53 | <emphasis>Eclipse Development:</emphasis> |
@@ -231,129 +233,6 @@ | |||
231 | section in the Toaster User Manual. | 233 | section in the Toaster User Manual. |
232 | </para> | 234 | </para> |
233 | </section> | 235 | </section> |
234 | |||
235 | <section id='local-kernel-files'> | ||
236 | <title>Setting Up to Work on a Kernel</title> | ||
237 | |||
238 | <para> | ||
239 | Kernel development is best accomplished using | ||
240 | <ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'><filename>devtool</filename></ulink> | ||
241 | and not through traditional kernel workflow methods. | ||
242 | This section provides procedures to set up for both. | ||
243 | </para> | ||
244 | |||
245 | <section id='getting-ready-to-develop-using-devtool'> | ||
246 | <title>Getting Ready to Develop using <filename>devtool</filename></title> | ||
247 | |||
248 | <para role='writernotes'> | ||
249 | Need the updated wiki stuff here | ||
250 | </para> | ||
251 | </section> | ||
252 | |||
253 | <section id='getting-ready-for-traditional-kernel-development'> | ||
254 | <title>Getting Ready for Traditional Kernel Development</title> | ||
255 | |||
256 | <para> | ||
257 | For traditional kernel development using the Yocto | ||
258 | Project, you need to establish local copies of the | ||
259 | kernel source. | ||
260 | You can find Git repositories of supported Yocto Project | ||
261 | kernels organized under "Yocto Linux Kernel" in the Yocto | ||
262 | Project Source Repositories at | ||
263 | <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>. | ||
264 | </para> | ||
265 | |||
266 | <para> | ||
267 | This setup can involve creating a bare clone of the | ||
268 | Yocto Project kernel and then copying that cloned | ||
269 | repository. | ||
270 | You can create the bare clone and the copy of the bare | ||
271 | clone anywhere you like. | ||
272 | For simplicity, it is recommended that you create these | ||
273 | structures outside of the | ||
274 | <ulink url='&YOCTO_DOCS_REF_URL;source-directory'>Source Directory</ulink>, | ||
275 | which is usually named <filename>poky</filename>. | ||
276 | </para> | ||
277 | |||
278 | <para> | ||
279 | The following steps show how to create a bare clone of the | ||
280 | <filename>linux-yocto-4.4</filename> kernel and then | ||
281 | create a copy of that clone: | ||
282 | <note> | ||
283 | When you have a local Yocto Project kernel Git | ||
284 | repository, you can reference that repository rather than | ||
285 | the upstream Git repository as part of the | ||
286 | <filename>clone</filename> command. | ||
287 | Doing so can speed up the process. | ||
288 | </note> | ||
289 | <orderedlist> | ||
290 | <listitem><para> | ||
291 | <emphasis>Create the Bare Clone:</emphasis> | ||
292 | In the following example, the bare clone is named | ||
293 | <filename>linux-yocto-4.4.git</filename>: | ||
294 | <literallayout class='monospaced'> | ||
295 | $ git clone ‐‐bare git://git.yoctoproject.org/linux-yocto-4.4 linux-yocto-4.4.git | ||
296 | Cloning into bare repository 'linux-yocto-4.4.git'... | ||
297 | remote: Counting objects: 4543903, done. | ||
298 | remote: Compressing objects: 100% (695618/695618), done. | ||
299 | remote: Total 4543903 (delta 3818435), reused 4541724 (delta 3816256) | ||
300 | Receiving objects: 100% (4543903/4543903), 801.08 MiB | 6.55 MiB/s, done. | ||
301 | Resolving deltas: 100% (3818435/3818435), done. | ||
302 | Checking connectivity... done. | ||
303 | </literallayout> | ||
304 | </para></listitem> | ||
305 | <listitem><para> | ||
306 | <emphasis>Create the Copy of the Bare Clone:</emphasis> | ||
307 | In the following command, the copy of the bare clone | ||
308 | is named <filename>my-linux-yocto-4.4-work</filename>: | ||
309 | <literallayout class='monospaced'> | ||
310 | $ git clone linux-yocto-4.4.git my-linux-yocto-4.4-work | ||
311 | Cloning into 'my-linux-yocto-4.4-work'... | ||
312 | done. | ||
313 | Checking out files: 100% (52221/52221), done. | ||
314 | </literallayout> | ||
315 | </para></listitem> | ||
316 | <listitem><para> | ||
317 | <emphasis>Cloning the <filename>meta-yocto-kernel-extras</filename> Repository:</emphasis> | ||
318 | The <filename>meta-yocto-kernel-extras</filename> Git | ||
319 | repository contains Metadata needed only if you are | ||
320 | modifying and building the kernel image. | ||
321 | In particular, it contains the kernel BitBake append | ||
322 | (<filename>.bbappend</filename>) files that you edit to | ||
323 | point to your locally modified kernel source files and to | ||
324 | build the kernel image. | ||
325 | Pointing to these local files is much more efficient than | ||
326 | requiring a download of the kernel's source files from | ||
327 | upstream each time you make changes to the kernel.</para> | ||
328 | |||
329 | <para>You can find the | ||
330 | <filename>meta-yocto-kernel-extras</filename> Git | ||
331 | Repository in the "Yocto Metadata Layers" area of the | ||
332 | Yocto Project Source Repositories at | ||
333 | <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>. | ||
334 | It is good practice to create this Git repository | ||
335 | inside the Source Directory.</para> | ||
336 | |||
337 | <para>Following is an example that creates the | ||
338 | <filename>meta-yocto-kernel-extras</filename> Git | ||
339 | repository inside the Source Directory, which is named | ||
340 | <filename>poky</filename>, in this case: | ||
341 | <literallayout class='monospaced'> | ||
342 | $ cd ~/poky | ||
343 | $ git clone git://git.yoctoproject.org/meta-yocto-kernel-extras meta-yocto-kernel-extras | ||
344 | Cloning into 'meta-yocto-kernel-extras'... | ||
345 | remote: Counting objects: 727, done. | ||
346 | remote: Compressing objects: 100% (452/452), done. | ||
347 | remote: Total 727 (delta 260), reused 719 (delta 252) | ||
348 | Receiving objects: 100% (727/727), 536.36 KiB | 0 bytes/s, done. | ||
349 | Resolving deltas: 100% (260/260), done. | ||
350 | Checking connectivity... done. | ||
351 | </literallayout> | ||
352 | </para></listitem> | ||
353 | </orderedlist> | ||
354 | </para> | ||
355 | </section> | ||
356 | </section> | ||
357 | </section> | 236 | </section> |
358 | 237 | ||
359 | <section id='working-with-yocto-project-source-files'> | 238 | <section id='working-with-yocto-project-source-files'> |