From e2e33658930122ef414d5aa5f925a013dde1faf4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Sat, 29 Mar 2014 06:55:35 -0600 Subject: [PATCH] ref-manual: Edits to "Yocto Project Components" section. Some items found reading through the section. Needed some cross-referencing to better targets based on newer information. The text was quite dated in this section. (From yocto-docs rev: eba809fd709d801bec50a820d7e6a5a79707dde6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../ref-manual/technical-details.xml | 90 ++++++++++++------- 1 file changed, 57 insertions(+), 33 deletions(-) diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 72fa42c507..2fc547136c 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -6,41 +6,46 @@ Technical Details - This chapter provides technical details for various parts of the Yocto Project. + This chapter provides technical details for various parts of the + Yocto Project. Currently, topics include Yocto Project components, - shared state (sstate) cache, x32, and Licenses. + cross-toolchain generation, shared state (sstate) cache, + x32, Wayland support, and Licenses.
Yocto Project Components - The BitBake task executor together with various types of configuration files form the - OpenEmbedded Core. - This section overviews these by describing what they are used for - and how they interact. + The + BitBake + task executor together with various types of configuration files form + the OpenEmbedded Core. + This section overviews these components by describing their use and + how they interact. BitBake handles the parsing and execution of the data files. The data itself is of various types: - - Recipes: Provides details about particular - pieces of software. - Class Data: Abstracts common build - information (e.g. how to build a Linux kernel). - Configuration Data: Defines machine-specific settings, - policy decisions, and so forth. - Configuration data acts as the glue to bind everything together. - - For more information on data, see the - "Yocto Project Terms" - section in the Yocto Project Development Manual. + + Recipes: Provides details + about particular pieces of software. + + Class Data: Abstracts + common build information (e.g. how to build a Linux kernel). + + Configuration Data: Defines + machine-specific settings, policy decisions, and so forth. + Configuration data acts as the glue to bind everything + together. + + - BitBake knows how to combine multiple data sources together and refers to each data source - as a layer. + BitBake knows how to combine multiple data sources together and refers + to each data source as a layer. For information on layers, see the "Understanding and Creating Layers" section of the Yocto Project Development Manual. @@ -48,8 +53,10 @@ Following are some brief details on these core components. - For more detailed information on these components, see the - "Source Directory Structure" chapter. + For additional information on how these components interact during + a build, see the + "A Closer Look at the Yocto Project Development Environment" + Chapter.
@@ -60,6 +67,15 @@ and is responsible for parsing the Metadata, generating a list of tasks from it, and then executing those tasks. + + + + This section briefly introduces BitBake. + If you want more information on BitBake, see the + BitBake User Manual. + + + To see a list of the options BitBake supports, use either of the following commands: @@ -72,7 +88,9 @@ The most common usage for BitBake is bitbake <packagename>, where packagename is the name of the package you want to build (referred to as the "target" in this manual). - The target often equates to the first part of a .bb filename. + The target often equates to the first part of a recipe's filename + (e.g. "foo" for a recipe named + foo_1.3.0-r0.bb). So, to process the matchbox-desktop_1.2.3.bb recipe file, you might type the following: @@ -99,11 +117,12 @@ A useful BitBake option to consider is the -k or --continue option. - This option instructs BitBake to try and continue processing the job as much - as possible even after encountering an error. + This option instructs BitBake to try and continue processing the job + as long as possible even after encountering an error. When an error occurs, the target that failed and those that depend on it cannot be remade. - However, when you use this option other dependencies can still be processed. + However, when you use this option other dependencies can still be + processed.
@@ -111,12 +130,15 @@ Metadata (Recipes) - The .bb files are usually referred to as "recipes." - In general, a recipe contains information about a single piece of software. + Files that have the .bb suffix are "recipes" + files. + In general, a recipe contains information about a single piece of + software. This information includes the location from which to download the unaltered source, any source patches to be applied to that source (if needed), which special configuration options to apply, - how to compile the source files, and how to package the compiled output. + how to compile the source files, and how to package the compiled + output. @@ -134,10 +156,12 @@ Class files (.bbclass) contain information that is useful to share between Metadata files. - An example is the Autotools class, which contains - common settings for any application that Autotools uses. - The "Classes" chapter provides details - about common classes and how to use them. + An example is the + autotools + class, which contains common settings for any application that + Autotools uses. + The "Classes" chapter provides + details about classes and how to use them.