diff options
Diffstat (limited to 'documentation/kernel-dev')
-rw-r--r-- | documentation/kernel-dev/figures/kernel-overview-2-generic.png | bin | 0 -> 49230 bytes | |||
-rw-r--r-- | documentation/kernel-dev/kernel-dev-concepts-appx.xml | 87 |
2 files changed, 87 insertions, 0 deletions
diff --git a/documentation/kernel-dev/figures/kernel-overview-2-generic.png b/documentation/kernel-dev/figures/kernel-overview-2-generic.png new file mode 100644 index 0000000000..ee2cdb206b --- /dev/null +++ b/documentation/kernel-dev/figures/kernel-overview-2-generic.png | |||
Binary files differ | |||
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 |