From 51b3a231b0cd36d5f1597e4be2a276387cf8789b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 14 Jul 2011 14:17:49 -0700 Subject: documentation/kernel-manual/kernel-how-to.xml: Tree Construction section further explained Added text to help put tree construction into context with the developer. The section felt as if the developer needed to be taking action on the steps when in reality the steps are describing a lot of "behind-the-scenes" stuff that happens when the YP tree is constructed. (From yocto-docs rev: 1aafca94f3f3d5e07a0b2244ff5dbfe4a2c1ba8f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/kernel-manual/kernel-how-to.xml | 86 +++++++++++++++++---------- 1 file changed, 54 insertions(+), 32 deletions(-) (limited to 'documentation/kernel-manual') diff --git a/documentation/kernel-manual/kernel-how-to.xml b/documentation/kernel-manual/kernel-how-to.xml index 852fbb1a90..bf45ae1729 100644 --- a/documentation/kernel-manual/kernel-how-to.xml +++ b/documentation/kernel-manual/kernel-how-to.xml @@ -40,12 +40,24 @@ in the product. Those feature descriptions list all necessary patches, configuration, branching, tagging and feature divisions found in the kernel. + Thus, the Yocto Project kernel repository (or tree) is built. + The existence of this tree allows you to build images based on your configurations + and features. You can find the files used to describe all the valid features and BSPs in the Yocto Project - kernel in any clone of the kernel Git tree. - The directory meta/cfg/kernel-cache/ is a snapshot of all the kernel - configuration and feature descriptions (.scc) used to build the kernel repository. + kernel in any clone of the kernel Git tree. + For example, the following command clones the Yocto Project baseline kernel that + branched off of linux.org version 2.6.37: + + $ git clone http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-2.6.37 + + After you switch to the meta branch within the repository + you can see a snapshot of all the kernel configuration and feature descriptions that are + used to build the kernel repository. + These descriptions are in the form of .scc files. + + You should realize, however, that browsing the snapshot of feature descriptions and patches is not an effective way to determine what is in a particular kernel branch. @@ -62,46 +74,56 @@ and development. - The general flow for constructing a project-specific kernel tree is as follows: - - A top-level kernel feature is passed to the kernel build subsystem. - Normally, this is a BSP for a particular kernel type. + The following steps describe what happens during tree construction given the introduction + of a new top-level kernel feature or BSP. + These are the actions that effectively create the tree that includes the new feature, patch, + or BSP: + + A top-level kernel feature is passed to the kernel build subsystem. + Normally, this is a BSP for a particular kernel type. - The file that describes the top-level feature is located by searching - these system directories: + The file that describes the top-level feature is located by searching + these system directories: - - The in-tree kernel-cache directories + + The in-tree kernel-cache directories, which are located + in meta/cfg/kernel-cache - Recipe SRC_URIs + Areas pointed to by SRC_URI statements + found in recipes - + - For a typical build a feature description of the format: - <bsp name>-<kernel type>.scc is the target of the search. - + For a typical build, the target of the search is a + feature description in an .scc file + whose name follows this format: + + <bsp_name>-<kernel_type>.scc + + - Once located, the feature description is either compiled into a simple script - of actions, or an existing equivalent script that was part of the - shipped kernel is located. + Once located, the feature description is either compiled into a simple script + of actions, or into an existing equivalent script that is already part of the + shipped kernel. - Extra features are appended to the top-level feature description. - These features can come from the KERNEL_FEATURES variable in recipes. + Extra features are appended to the top-level feature description. + These features can come from the KERNEL_FEATURES variable in + recipes. - Each extra feature is located, compiled and appended to the script from - step #3 + Each extra feature is located, compiled and appended to the script + as described in step three. - The script is executed, and a meta-series is produced. - The meta-series is a description of all the branches, tags, patches and configurations that - need to be applied to the base Git repository to completely create the - BSP source (build) branch. + The script is executed to produce a meta-series. + The meta-series is a description of all the branches, tags, patches and configurations that + need to be applied to the base Git repository to completely create the + source (build) branch for the new BSP or feature. - The base repository is cloned, and the actions - listed in the meta-series are applied to the tree. + The base repository is cloned, and the actions + listed in the meta-series are applied to the tree. - The Git repository is left with the desired branch checked out and any - required branching, patching and tagging has been performed. - + The Git repository is left with the desired branch checked out and any + required branching, patching and tagging has been performed. + -- cgit v1.2.3-54-g00ecf