diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2014-03-29 06:55:35 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-30 10:18:38 +0100 |
commit | e2e33658930122ef414d5aa5f925a013dde1faf4 (patch) | |
tree | 5b84b6df975e21bf2d0be3fc2f10471f3f66ed07 | |
parent | ec27a7873bf3ddeb18155eb6bdde5eaab5990d12 (diff) | |
download | poky-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.xml | 90 |
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 <packagename></filename>, where | 88 | The most common usage for BitBake is <filename>bitbake <packagename></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 | ||