diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2017-06-29 15:54:35 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-07-12 00:28:15 +0100 |
commit | b643938bdecd4ed928713c3a9b4c9f7e0e637964 (patch) | |
tree | 7dbde3901caa80b516a49eb1c7bc1a85ca819499 /documentation/kernel-dev/kernel-dev-concepts-appx.xml | |
parent | 0e92314239dc4b81a1d944b54f485292b422f982 (diff) | |
download | poky-b643938bdecd4ed928713c3a9b4c9f7e0e637964.tar.gz |
dev-manual, kernel-dev: Moved the kernel build hierarchy section
Fixes [YOCTO #11630]
The section that presented the Yocto Linux kernel file structure
resulting from a build using BitBake needed to be in the kernel-dev
manual. I moved it over. This required transferring over a
figure as well.
(From yocto-docs rev: 0abc6c7d87a6aa10dac28fefbb280eb51fea61a7)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/kernel-dev/kernel-dev-concepts-appx.xml')
-rw-r--r-- | documentation/kernel-dev/kernel-dev-concepts-appx.xml | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/documentation/kernel-dev/kernel-dev-concepts-appx.xml b/documentation/kernel-dev/kernel-dev-concepts-appx.xml index 7c9f34c729..8eb8c30dce 100644 --- a/documentation/kernel-dev/kernel-dev-concepts-appx.xml +++ b/documentation/kernel-dev/kernel-dev-concepts-appx.xml | |||
@@ -380,6 +380,93 @@ | |||
380 | cloning and building the kernel. | 380 | cloning and building the kernel. |
381 | </para> | 381 | </para> |
382 | </section> | 382 | </section> |
383 | |||
384 | <section id='kernel-build-file-hierarchy'> | ||
385 | <title>Kernel Build File Hierarchy</title> | ||
386 | |||
387 | <para> | ||
388 | Upstream storage of all the available kernel source code is | ||
389 | one thing, while representing and using the code on your host | ||
390 | development system is another. | ||
391 | Conceptually, you can think of the kernel source repositories | ||
392 | as all the source files necessary for all the supported | ||
393 | Yocto Linux kernels. | ||
394 | As a developer, you are just interested in the source files | ||
395 | for the kernel on which you are working. | ||
396 | And, furthermore, you need them available on your host system. | ||
397 | </para> | ||
398 | |||
399 | <para> | ||
400 | Kernel source code is available on your host system several | ||
401 | different ways: | ||
402 | <itemizedlist> | ||
403 | <listitem><para> | ||
404 | <emphasis>Files Accessed While using <filename>devtool</filename>:</emphasis> | ||
405 | <filename>devtool</filename>, which is available with the | ||
406 | Yocto Project, is the preferred method by which to | ||
407 | modify the kernel. | ||
408 | See the | ||
409 | "<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-modification-workflow'>Kernel Modification Workflow</ulink>" | ||
410 | section in the Yocto Project Development Manual for | ||
411 | information. | ||
412 | </para></listitem> | ||
413 | <listitem><para> | ||
414 | <emphasis>Cloned Repository:</emphasis> | ||
415 | If you are working in the kernel all the time, you probably | ||
416 | would want to set up your own local Git repository of the | ||
417 | Yocto Linux kernel tree. | ||
418 | For information on how to clone a Yocto Linux kernel | ||
419 | Git repository, see the | ||
420 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Setting Up to Work On a Kernel</ulink>" | ||
421 | section in the Yocto Project Development Manual. | ||
422 | </para></listitem> | ||
423 | <listitem><para> | ||
424 | <emphasis>Temporary Source Files from a Build:</emphasis> | ||
425 | If you just need to make some patches to the kernel using | ||
426 | a traditional BitBake workflow (i.e. not using the | ||
427 | <filename>devtool</filename>), you can access temporary | ||
428 | kernel source files that were extracted and used during | ||
429 | a kernel build. | ||
430 | </para></listitem> | ||
431 | </itemizedlist> | ||
432 | </para> | ||
433 | |||
434 | <para> | ||
435 | The temporary kernel source files resulting from a build using | ||
436 | BitBake have a particular hierarchy. | ||
437 | When you build the kernel on your development system, all files | ||
438 | needed for the build are taken from the source repositories | ||
439 | pointed to by the | ||
440 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> | ||
441 | variable and gathered in a temporary work area where they are | ||
442 | subsequently used to create the unique kernel. | ||
443 | Thus, in a sense, the process constructs a local source tree | ||
444 | specific to your kernel from which to generate the new kernel | ||
445 | image. | ||
446 | </para> | ||
447 | |||
448 | <para> | ||
449 | The following figure shows the temporary file structure | ||
450 | created on your host system when you build the kernel using | ||
451 | Bitbake. | ||
452 | This | ||
453 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> | ||
454 | contains all the source files used during the build. | ||
455 | <imagedata fileref="figures/kernel-overview-2-generic.png" | ||
456 | width="6in" depth="5in" align="center" scale="100" /> | ||
457 | </para> | ||
458 | |||
459 | <para> | ||
460 | Again, for additional information on the Yocto Project kernel's | ||
461 | architecture and its branching strategy, see the | ||
462 | "<link linkend='yocto-linux-kernel-architecture-and-branching-strategies'>Yocto Linux Kernel Architecture and Branching Strategies</link>" | ||
463 | section. | ||
464 | You can also reference the | ||
465 | "<ulink url='&YOCTO_DOCS_DEV_URL;#patching-the-kernel'>Patching the Kernel</ulink>" | ||
466 | section in the Yocto Project Development Manual for a detailed | ||
467 | example that modifies the kernel. | ||
468 | </para> | ||
469 | </section> | ||
383 | </appendix> | 470 | </appendix> |
384 | <!-- | 471 | <!-- |
385 | vim: expandtab tw=80 ts=4 | 472 | vim: expandtab tw=80 ts=4 |