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 |
