diff --git a/documentation/Makefile b/documentation/Makefile index a761c19dba..93cf6ca726 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -131,7 +131,6 @@ TARFILES = dev-style.css dev-manual.html \ TARFILES = dev-style.css dev-manual.html \ figures/dev-title.png \ figures/kernel-dev-flow.png \ - figures/kernel-overview-2-generic.png \ figures/recipe-workflow.png \ figures/devtool-add-flow.png figures/devtool-modify-flow.png \ figures/devtool-upgrade-flow.png \ @@ -330,7 +329,7 @@ ifeq ($(DOC),kernel-dev) XSLTOPTS = --xinclude ALLPREQ = html eclipse tarball TARFILES = kernel-dev.html kernel-dev-style.css \ - figures/kernel-dev-title.png \ + figures/kernel-dev-title.png figures/kernel-overview-2-generic \ figures/kernel-architecture-overview.png \ eclipse MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index 05ff369f5d..0055bccfed 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -82,71 +82,6 @@ Yocto Project Linux Kernel Development Manual. -
- Kernel Overview - - - Upstream storage of all the available kernel source code is - one thing, while representing and using the code on your host - development system is another. - Conceptually, you can think of the kernel source repositories - as all the source files necessary for all the supported - Yocto Linux kernels. - As a developer, you are just interested in the source files - for the kernel on which you are working. - And, furthermore, you need them available on your host system. - - - - Kernel source code is available on your host system a couple - of different ways. - If you are working in the kernel all the time, you probably - would want to set up your own local Git repository of the - Yocto Linux kernel tree. - If you just need to make some patches to the kernel, you can - access temporary kernel source files that were extracted and - used during a build. - We will just talk about working with the temporary source code. - For more information on how to get kernel source code onto your - host system, see the - "Setting Up to Work On a Kernel" - section. - - - - What happens during the build? - When you build the kernel on your development system, all files needed for the build - are taken from the source repositories pointed to by the - SRC_URI variable - and gathered in a temporary work area - where they are subsequently used to create the unique kernel. - Thus, in a sense, the process constructs a local source tree specific to your - kernel to generate the new kernel image - a source generator if you will. - - - - The following figure shows the temporary file structure - created on your host system when the build occurs. - This - Build Directory - contains all the source files used during the build. - - - - - - - - Again, for additional information on the Yocto Project kernel's - architecture and its branching strategy, see the - Yocto Project Linux Kernel Development Manual. - You can also reference the - "Patching the Kernel" - section for a detailed example that modifies the kernel. - -
-
Kernel Modification Workflow @@ -219,9 +154,9 @@ Try to resist the temptation to directly edit an existing .config file, which is found in the Build Directory among the source code - used for the build (e.g. see the bottom - illustration in the - "Kernel Overview" + used for the build (e.g. see the workflow illustration + in the + "Kernel Modification Workflow" section). Doing so, can produce unexpected results when the OpenEmbedded build system regenerates the configuration diff --git a/documentation/dev-manual/figures/kernel-overview-2-generic.png b/documentation/kernel-dev/figures/kernel-overview-2-generic.png similarity index 100% rename from documentation/dev-manual/figures/kernel-overview-2-generic.png rename to documentation/kernel-dev/figures/kernel-overview-2-generic.png 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 @@ cloning and building the kernel.
+ +
+ Kernel Build File Hierarchy + + + Upstream storage of all the available kernel source code is + one thing, while representing and using the code on your host + development system is another. + Conceptually, you can think of the kernel source repositories + as all the source files necessary for all the supported + Yocto Linux kernels. + As a developer, you are just interested in the source files + for the kernel on which you are working. + And, furthermore, you need them available on your host system. + + + + Kernel source code is available on your host system several + different ways: + + + Files Accessed While using devtool: + devtool, which is available with the + Yocto Project, is the preferred method by which to + modify the kernel. + See the + "Kernel Modification Workflow" + section in the Yocto Project Development Manual for + information. + + + Cloned Repository: + If you are working in the kernel all the time, you probably + would want to set up your own local Git repository of the + Yocto Linux kernel tree. + For information on how to clone a Yocto Linux kernel + Git repository, see the + "Setting Up to Work On a Kernel" + section in the Yocto Project Development Manual. + + + Temporary Source Files from a Build: + If you just need to make some patches to the kernel using + a traditional BitBake workflow (i.e. not using the + devtool), you can access temporary + kernel source files that were extracted and used during + a kernel build. + + + + + + The temporary kernel source files resulting from a build using + BitBake have a particular hierarchy. + When you build the kernel on your development system, all files + needed for the build are taken from the source repositories + pointed to by the + SRC_URI + variable and gathered in a temporary work area where they are + subsequently used to create the unique kernel. + Thus, in a sense, the process constructs a local source tree + specific to your kernel from which to generate the new kernel + image. + + + + The following figure shows the temporary file structure + created on your host system when you build the kernel using + Bitbake. + This + Build Directory + contains all the source files used during the build. + + + + + Again, for additional information on the Yocto Project kernel's + architecture and its branching strategy, see the + "Yocto Linux Kernel Architecture and Branching Strategies" + section. + You can also reference the + "Patching the Kernel" + section in the Yocto Project Development Manual for a detailed + example that modifies the kernel. + +