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.