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 <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ec27a7873b
commit
e2e3365893
|
@ -6,41 +6,46 @@
|
||||||
<title>Technical Details</title>
|
<title>Technical Details</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
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,
|
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.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section id='usingpoky-components'>
|
<section id='usingpoky-components'>
|
||||||
<title>Yocto Project Components</title>
|
<title>Yocto Project Components</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The BitBake task executor together with various types of configuration files form the
|
The
|
||||||
OpenEmbedded Core.
|
<ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>
|
||||||
This section overviews these by describing what they are used for
|
task executor together with various types of configuration files form
|
||||||
and how they interact.
|
the OpenEmbedded Core.
|
||||||
|
This section overviews these components by describing their use and
|
||||||
|
how they interact.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
BitBake handles the parsing and execution of the data files.
|
BitBake handles the parsing and execution of the data files.
|
||||||
The data itself is of various types:
|
The data itself is of various types:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para><emphasis>Recipes:</emphasis> Provides details about particular
|
<listitem><para><emphasis>Recipes:</emphasis> Provides details
|
||||||
pieces of software.</para></listitem>
|
about particular pieces of software.
|
||||||
<listitem><para><emphasis>Class Data:</emphasis> Abstracts common build
|
</para></listitem>
|
||||||
information (e.g. how to build a Linux kernel).</para></listitem>
|
<listitem><para><emphasis>Class Data:</emphasis> Abstracts
|
||||||
<listitem><para><emphasis>Configuration Data:</emphasis> Defines machine-specific settings,
|
common build information (e.g. how to build a Linux kernel).
|
||||||
policy decisions, and so forth.
|
</para></listitem>
|
||||||
Configuration data acts as the glue to bind everything together.</para></listitem>
|
<listitem><para><emphasis>Configuration Data:</emphasis> Defines
|
||||||
</itemizedlist>
|
machine-specific settings, policy decisions, and so forth.
|
||||||
For more information on data, see the
|
Configuration data acts as the glue to bind everything
|
||||||
"<ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-terms'>Yocto Project Terms</ulink>"
|
together.
|
||||||
section in the Yocto Project Development Manual.
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
BitBake knows how to combine multiple data sources together and refers to each data source
|
BitBake knows how to combine multiple data sources together and refers
|
||||||
as a layer.
|
to each data source as a layer.
|
||||||
For information on layers, see the
|
For information on layers, see the
|
||||||
"<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and
|
"<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and
|
||||||
Creating Layers</ulink>" section of the Yocto Project Development Manual.
|
Creating Layers</ulink>" section of the Yocto Project Development Manual.
|
||||||
|
@ -48,8 +53,10 @@
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Following are some brief details on these core components.
|
Following are some brief details on these core components.
|
||||||
For more detailed information on these components, see the
|
For additional information on how these components interact during
|
||||||
"<link linkend='ref-structure'>Source Directory Structure</link>" chapter.
|
a build, see the
|
||||||
|
"<link linkend='closer-look'>A Closer Look at the Yocto Project Development Environment</link>"
|
||||||
|
Chapter.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section id='usingpoky-components-bitbake'>
|
<section id='usingpoky-components-bitbake'>
|
||||||
|
@ -60,6 +67,15 @@
|
||||||
and is responsible for parsing the
|
and is responsible for parsing the
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>,
|
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>,
|
||||||
generating a list of tasks from it, and then executing those tasks.
|
generating a list of tasks from it, and then executing those tasks.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This section briefly introduces BitBake.
|
||||||
|
If you want more information on BitBake, see the
|
||||||
|
<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual'>BitBake User Manual</ulink>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
To see a list of the options BitBake supports, use either of
|
To see a list of the options BitBake supports, use either of
|
||||||
the following commands:
|
the following commands:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
|
@ -72,7 +88,9 @@
|
||||||
The most common usage for BitBake is <filename>bitbake <packagename></filename>, where
|
The most common usage for BitBake is <filename>bitbake <packagename></filename>, where
|
||||||
<filename>packagename</filename> is the name of the package you want to build
|
<filename>packagename</filename> is the name of the package you want to build
|
||||||
(referred to as the "target" in this manual).
|
(referred to as the "target" in this manual).
|
||||||
The target often equates to the first part of a <filename>.bb</filename> filename.
|
The target often equates to the first part of a recipe's filename
|
||||||
|
(e.g. "foo" for a recipe named
|
||||||
|
<filename>foo_1.3.0-r0.bb</filename>).
|
||||||
So, to process the <filename>matchbox-desktop_1.2.3.bb</filename> recipe file, you
|
So, to process the <filename>matchbox-desktop_1.2.3.bb</filename> recipe file, you
|
||||||
might type the following:
|
might type the following:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
|
@ -99,11 +117,12 @@
|
||||||
<para>
|
<para>
|
||||||
A useful BitBake option to consider is the <filename>-k</filename> or
|
A useful BitBake option to consider is the <filename>-k</filename> or
|
||||||
<filename>--continue</filename> option.
|
<filename>--continue</filename> option.
|
||||||
This option instructs BitBake to try and continue processing the job as much
|
This option instructs BitBake to try and continue processing the job
|
||||||
as possible even after encountering an error.
|
as long as possible even after encountering an error.
|
||||||
When an error occurs, the target that
|
When an error occurs, the target that
|
||||||
failed and those that depend on it cannot be remade.
|
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.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -111,12 +130,15 @@
|
||||||
<title>Metadata (Recipes)</title>
|
<title>Metadata (Recipes)</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <filename>.bb</filename> files are usually referred to as "recipes."
|
Files that have the <filename>.bb</filename> suffix are "recipes"
|
||||||
In general, a recipe contains information about a single piece of software.
|
files.
|
||||||
|
In general, a recipe contains information about a single piece of
|
||||||
|
software.
|
||||||
This information includes the location from which to download the
|
This information includes the location from which to download the
|
||||||
unaltered source, any source patches to be applied to that source
|
unaltered source, any source patches to be applied to that source
|
||||||
(if needed), which special configuration options to apply,
|
(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.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -134,10 +156,12 @@
|
||||||
Class files (<filename>.bbclass</filename>) contain information that
|
Class files (<filename>.bbclass</filename>) contain information that
|
||||||
is useful to share between
|
is useful to share between
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> files.
|
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> files.
|
||||||
An example is the Autotools class, which contains
|
An example is the
|
||||||
common settings for any application that Autotools uses.
|
<link linkend='ref-classes-autotools'><filename>autotools</filename></link>
|
||||||
The "<link linkend='ref-classes'>Classes</link>" chapter provides details
|
class, which contains common settings for any application that
|
||||||
about common classes and how to use them.
|
Autotools uses.
|
||||||
|
The "<link linkend='ref-classes'>Classes</link>" chapter provides
|
||||||
|
details about classes and how to use them.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue