summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-dev/kernel-dev-concepts-appx.xml
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2017-06-29 15:54:35 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-07-12 00:28:15 +0100
commitb643938bdecd4ed928713c3a9b4c9f7e0e637964 (patch)
tree7dbde3901caa80b516a49eb1c7bc1a85ca819499 /documentation/kernel-dev/kernel-dev-concepts-appx.xml
parent0e92314239dc4b81a1d944b54f485292b422f982 (diff)
downloadpoky-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.xml87
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<!--
385vim: expandtab tw=80 ts=4 472vim: expandtab tw=80 ts=4