diff options
-rw-r--r-- | bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml index ae267b42c8..330bfbd3c3 100644 --- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml +++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml | |||
@@ -10,7 +10,7 @@ | |||
10 | The information attempts to be as independent as possible regarding | 10 | The information attempts to be as independent as possible regarding |
11 | systems that use BitBake, such as the Yocto Project and | 11 | systems that use BitBake, such as the Yocto Project and |
12 | OpenEmbedded. | 12 | OpenEmbedded. |
13 | In some cases, scenarios or examples that within the context of | 13 | In some cases, scenarios or examples within the context of |
14 | a build system are used in the manual to help with understanding. | 14 | a build system are used in the manual to help with understanding. |
15 | For these cases, the manual clearly states the context. | 15 | For these cases, the manual clearly states the context. |
16 | </para> | 16 | </para> |
@@ -36,6 +36,7 @@ | |||
36 | BitBake executes tasks according to provided | 36 | BitBake executes tasks according to provided |
37 | metadata that builds up the tasks. | 37 | metadata that builds up the tasks. |
38 | Metadata is stored in recipe (<filename>.bb</filename>), | 38 | Metadata is stored in recipe (<filename>.bb</filename>), |
39 | recipe "append" (<filename>.bbappend</filename>), | ||
39 | configuration (<filename>.conf</filename>), and class | 40 | configuration (<filename>.conf</filename>), and class |
40 | (<filename>.bbclass</filename>) files and provides | 41 | (<filename>.bbclass</filename>) files and provides |
41 | BitBake with instructions on what tasks to run and | 42 | BitBake with instructions on what tasks to run and |
@@ -44,11 +45,11 @@ | |||
44 | <listitem><para> | 45 | <listitem><para> |
45 | BitBake includes a fetcher library for obtaining source | 46 | BitBake includes a fetcher library for obtaining source |
46 | code from various places such as source control | 47 | code from various places such as source control |
47 | systems or websites. | 48 | systems, websites, or local files. |
48 | </para></listitem> | 49 | </para></listitem> |
49 | <listitem><para> | 50 | <listitem><para> |
50 | The instructions for each unit to be built (e.g. a piece | 51 | The instructions for each unit to be built (e.g. a piece |
51 | of software) are known as recipe files and | 52 | of software) are known as "recipe" files and |
52 | contain all the information about the unit | 53 | contain all the information about the unit |
53 | (dependencies, source file locations, checksums, description | 54 | (dependencies, source file locations, checksums, description |
54 | and so on). | 55 | and so on). |
@@ -69,7 +70,7 @@ | |||
69 | BitBake was originally a part of the OpenEmbedded project. | 70 | BitBake was originally a part of the OpenEmbedded project. |
70 | It was inspired by the Portage package management system | 71 | It was inspired by the Portage package management system |
71 | used by the Gentoo Linux distribution. | 72 | used by the Gentoo Linux distribution. |
72 | On December 7, 2004, OpenEmbedded project team member, | 73 | On December 7, 2004, OpenEmbedded project team member |
73 | Chris Larson split the project into two distinct pieces: | 74 | Chris Larson split the project into two distinct pieces: |
74 | <itemizedlist> | 75 | <itemizedlist> |
75 | <listitem><para>BitBake, a generic task executor</para></listitem> | 76 | <listitem><para>BitBake, a generic task executor</para></listitem> |
@@ -138,7 +139,7 @@ | |||
138 | projects for their builds. | 139 | projects for their builds. |
139 | </para></listitem> | 140 | </para></listitem> |
140 | <listitem><para> | 141 | <listitem><para> |
141 | Provide an inheritance mechanism that share | 142 | Provide an inheritance mechanism to share |
142 | common metadata between many packages. | 143 | common metadata between many packages. |
143 | </para></listitem> | 144 | </para></listitem> |
144 | </itemizedlist> | 145 | </itemizedlist> |
@@ -178,14 +179,14 @@ | |||
178 | what tasks are required to run, and executes those tasks. | 179 | what tasks are required to run, and executes those tasks. |
179 | Similar to GNU Make, BitBake controls how software is | 180 | Similar to GNU Make, BitBake controls how software is |
180 | built. | 181 | built. |
181 | GNU Make achieves its control through "makefiles". | 182 | GNU Make achieves its control through "makefiles", while |
182 | BitBake uses "recipes". | 183 | BitBake uses "recipes". |
183 | </para> | 184 | </para> |
184 | 185 | ||
185 | <para> | 186 | <para> |
186 | BitBake extends the capabilities of a simple | 187 | BitBake extends the capabilities of a simple |
187 | tool like GNU Make by allowing for much more complex tasks | 188 | tool like GNU Make by allowing for the definition of much more |
188 | to be completed, such as assembling entire embedded Linux | 189 | complex tasks, such as assembling entire embedded Linux |
189 | distributions. | 190 | distributions. |
190 | </para> | 191 | </para> |
191 | 192 | ||
@@ -203,12 +204,15 @@ | |||
203 | <filename>.bb</filename>, are the most basic metadata files. | 204 | <filename>.bb</filename>, are the most basic metadata files. |
204 | These recipe files provide BitBake with the following: | 205 | These recipe files provide BitBake with the following: |
205 | <itemizedlist> | 206 | <itemizedlist> |
206 | <listitem><para>Descriptive information about the package</para></listitem> | 207 | <listitem><para>Descriptive information about the |
208 | package (author, homepage, license, and so on)</para></listitem> | ||
207 | <listitem><para>The version of the recipe</para></listitem> | 209 | <listitem><para>The version of the recipe</para></listitem> |
208 | <listitem><para>Existing Dependencies</para></listitem> | 210 | <listitem><para>Existing dependencies (both build |
211 | and runtime dependencies)</para></listitem> | ||
209 | <listitem><para>Where the source code resides</para></listitem> | 212 | <listitem><para>Where the source code resides</para></listitem> |
210 | <listitem><para>Whether the source code requires any patches</para></listitem> | 213 | <listitem><para>Whether the source code requires any patches</para></listitem> |
211 | <listitem><para>How to compile the source code</para></listitem> | 214 | <listitem><para>How to configure and compile the |
215 | source code</para></listitem> | ||
212 | <listitem><para>Where on the target machine to install the | 216 | <listitem><para>Where on the target machine to install the |
213 | package being compiled</para></listitem> | 217 | package being compiled</para></listitem> |
214 | </itemizedlist> | 218 | </itemizedlist> |
@@ -284,7 +288,8 @@ | |||
284 | To illustrate how you can use layers to keep things modular, | 288 | To illustrate how you can use layers to keep things modular, |
285 | consider customizations you might make to support a specific target machine. | 289 | consider customizations you might make to support a specific target machine. |
286 | These types of customizations typically reside in a special layer, | 290 | These types of customizations typically reside in a special layer, |
287 | rather than a general layer, called a Board Specific Package (BSP) Layer. | 291 | rather than a general layer, called a Board Support Package (BSP) |
292 | Layer. | ||
288 | Furthermore, the machine customizations should be isolated from | 293 | Furthermore, the machine customizations should be isolated from |
289 | recipes and metadata that support a new GUI environment, for | 294 | recipes and metadata that support a new GUI environment, for |
290 | example. | 295 | example. |
@@ -413,6 +418,21 @@ | |||
413 | you have a directory entitled | 418 | you have a directory entitled |
414 | <filename>bitbake-1.17.0</filename>. | 419 | <filename>bitbake-1.17.0</filename>. |
415 | </para></listitem> | 420 | </para></listitem> |
421 | <listitem><para><emphasis>Using the BitBake that comes with your | ||
422 | build checkout:</emphasis> | ||
423 | A final possibility for getting a copy of BitBake is that it | ||
424 | already comes with your checkout of a larger Bitbake-based build | ||
425 | system, such as Poky or Yocto Project. | ||
426 | Rather than manually checking out individual layers and | ||
427 | gluing them together yourself, you can check | ||
428 | out an entire build system such as Poky with something like: | ||
429 | <literallayout class='monospaced'> | ||
430 | $ git clone git://git.yoctoproject.org/poky | ||
431 | </literallayout> | ||
432 | The checkout will already include a version of BitBake that | ||
433 | has been thoroughly tested for compatibility with the other | ||
434 | components. | ||
435 | </para></listitem> | ||
416 | </itemizedlist> | 436 | </itemizedlist> |
417 | </para> | 437 | </para> |
418 | </section> | 438 | </section> |