summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2014-03-29 06:55:35 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-30 10:18:38 +0100
commite2e33658930122ef414d5aa5f925a013dde1faf4 (patch)
tree5b84b6df975e21bf2d0be3fc2f10471f3f66ed07
parentec27a7873bf3ddeb18155eb6bdde5eaab5990d12 (diff)
downloadpoky-e2e33658930122ef414d5aa5f925a013dde1faf4.tar.gz
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>
-rw-r--r--documentation/ref-manual/technical-details.xml90
1 files 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 @@
6<title>Technical Details</title> 6<title>Technical Details</title>
7 7
8 <para> 8 <para>
9 This chapter provides technical details for various parts of the Yocto Project. 9 This chapter provides technical details for various parts of the
10 Yocto Project.
10 Currently, topics include Yocto Project components, 11 Currently, topics include Yocto Project components,
11 shared state (sstate) cache, x32, and Licenses. 12 cross-toolchain generation, shared state (sstate) cache,
13 x32, Wayland support, and Licenses.
12 </para> 14 </para>
13 15
14<section id='usingpoky-components'> 16<section id='usingpoky-components'>
15 <title>Yocto Project Components</title> 17 <title>Yocto Project Components</title>
16 18
17 <para> 19 <para>
18 The BitBake task executor together with various types of configuration files form the 20 The
19 OpenEmbedded Core. 21 <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>
20 This section overviews these by describing what they are used for 22 task executor together with various types of configuration files form
21 and how they interact. 23 the OpenEmbedded Core.
24 This section overviews these components by describing their use and
25 how they interact.
22 </para> 26 </para>
23 27
24 <para> 28 <para>
25 BitBake handles the parsing and execution of the data files. 29 BitBake handles the parsing and execution of the data files.
26 The data itself is of various types: 30 The data itself is of various types:
27 <itemizedlist> 31 <itemizedlist>
28 <listitem><para><emphasis>Recipes:</emphasis> Provides details about particular 32 <listitem><para><emphasis>Recipes:</emphasis> Provides details
29 pieces of software.</para></listitem> 33 about particular pieces of software.
30 <listitem><para><emphasis>Class Data:</emphasis> Abstracts common build 34 </para></listitem>
31 information (e.g. how to build a Linux kernel).</para></listitem> 35 <listitem><para><emphasis>Class Data:</emphasis> Abstracts
32 <listitem><para><emphasis>Configuration Data:</emphasis> Defines machine-specific settings, 36 common build information (e.g. how to build a Linux kernel).
33 policy decisions, and so forth. 37 </para></listitem>
34 Configuration data acts as the glue to bind everything together.</para></listitem> 38 <listitem><para><emphasis>Configuration Data:</emphasis> Defines
35 </itemizedlist> 39 machine-specific settings, policy decisions, and so forth.
36 For more information on data, see the 40 Configuration data acts as the glue to bind everything
37 "<ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-terms'>Yocto Project Terms</ulink>" 41 together.
38 section in the Yocto Project Development Manual. 42 </para></listitem>
43 </itemizedlist>
39 </para> 44 </para>
40 45
41 <para> 46 <para>
42 BitBake knows how to combine multiple data sources together and refers to each data source 47 BitBake knows how to combine multiple data sources together and refers
43 as a layer. 48 to each data source as a layer.
44 For information on layers, see the 49 For information on layers, see the
45 "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and 50 "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and
46 Creating Layers</ulink>" section of the Yocto Project Development Manual. 51 Creating Layers</ulink>" section of the Yocto Project Development Manual.
@@ -48,8 +53,10 @@
48 53
49 <para> 54 <para>
50 Following are some brief details on these core components. 55 Following are some brief details on these core components.
51 For more detailed information on these components, see the 56 For additional information on how these components interact during
52 "<link linkend='ref-structure'>Source Directory Structure</link>" chapter. 57 a build, see the
58 "<link linkend='closer-look'>A Closer Look at the Yocto Project Development Environment</link>"
59 Chapter.
53 </para> 60 </para>
54 61
55 <section id='usingpoky-components-bitbake'> 62 <section id='usingpoky-components-bitbake'>
@@ -60,6 +67,15 @@
60 and is responsible for parsing the 67 and is responsible for parsing the
61 <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>, 68 <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>,
62 generating a list of tasks from it, and then executing those tasks. 69 generating a list of tasks from it, and then executing those tasks.
70 </para>
71
72 <para>
73 This section briefly introduces BitBake.
74 If you want more information on BitBake, see the
75 <ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual'>BitBake User Manual</ulink>.
76 </para>
77
78 <para>
63 To see a list of the options BitBake supports, use either of 79 To see a list of the options BitBake supports, use either of
64 the following commands: 80 the following commands:
65 <literallayout class='monospaced'> 81 <literallayout class='monospaced'>
@@ -72,7 +88,9 @@
72 The most common usage for BitBake is <filename>bitbake &lt;packagename&gt;</filename>, where 88 The most common usage for BitBake is <filename>bitbake &lt;packagename&gt;</filename>, where
73 <filename>packagename</filename> is the name of the package you want to build 89 <filename>packagename</filename> is the name of the package you want to build
74 (referred to as the "target" in this manual). 90 (referred to as the "target" in this manual).
75 The target often equates to the first part of a <filename>.bb</filename> filename. 91 The target often equates to the first part of a recipe's filename
92 (e.g. "foo" for a recipe named
93 <filename>foo_1.3.0-r0.bb</filename>).
76 So, to process the <filename>matchbox-desktop_1.2.3.bb</filename> recipe file, you 94 So, to process the <filename>matchbox-desktop_1.2.3.bb</filename> recipe file, you
77 might type the following: 95 might type the following:
78 <literallayout class='monospaced'> 96 <literallayout class='monospaced'>
@@ -99,11 +117,12 @@
99 <para> 117 <para>
100 A useful BitBake option to consider is the <filename>-k</filename> or 118 A useful BitBake option to consider is the <filename>-k</filename> or
101 <filename>--continue</filename> option. 119 <filename>--continue</filename> option.
102 This option instructs BitBake to try and continue processing the job as much 120 This option instructs BitBake to try and continue processing the job
103 as possible even after encountering an error. 121 as long as possible even after encountering an error.
104 When an error occurs, the target that 122 When an error occurs, the target that
105 failed and those that depend on it cannot be remade. 123 failed and those that depend on it cannot be remade.
106 However, when you use this option other dependencies can still be processed. 124 However, when you use this option other dependencies can still be
125 processed.
107 </para> 126 </para>
108 </section> 127 </section>
109 128
@@ -111,12 +130,15 @@
111 <title>Metadata (Recipes)</title> 130 <title>Metadata (Recipes)</title>
112 131
113 <para> 132 <para>
114 The <filename>.bb</filename> files are usually referred to as "recipes." 133 Files that have the <filename>.bb</filename> suffix are "recipes"
115 In general, a recipe contains information about a single piece of software. 134 files.
135 In general, a recipe contains information about a single piece of
136 software.
116 This information includes the location from which to download the 137 This information includes the location from which to download the
117 unaltered source, any source patches to be applied to that source 138 unaltered source, any source patches to be applied to that source
118 (if needed), which special configuration options to apply, 139 (if needed), which special configuration options to apply,
119 how to compile the source files, and how to package the compiled output. 140 how to compile the source files, and how to package the compiled
141 output.
120 </para> 142 </para>
121 143
122 <para> 144 <para>
@@ -134,10 +156,12 @@
134 Class files (<filename>.bbclass</filename>) contain information that 156 Class files (<filename>.bbclass</filename>) contain information that
135 is useful to share between 157 is useful to share between
136 <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> files. 158 <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> files.
137 An example is the Autotools class, which contains 159 An example is the
138 common settings for any application that Autotools uses. 160 <link linkend='ref-classes-autotools'><filename>autotools</filename></link>
139 The "<link linkend='ref-classes'>Classes</link>" chapter provides details 161 class, which contains common settings for any application that
140 about common classes and how to use them. 162 Autotools uses.
163 The "<link linkend='ref-classes'>Classes</link>" chapter provides
164 details about classes and how to use them.
141 </para> 165 </para>
142 </section> 166 </section>
143 167