summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml44
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>