summaryrefslogtreecommitdiffstats
path: root/bitbake/doc/user-manual/user-manual-intro.xml
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/doc/user-manual/user-manual-intro.xml')
-rw-r--r--bitbake/doc/user-manual/user-manual-intro.xml81
1 files changed, 42 insertions, 39 deletions
diff --git a/bitbake/doc/user-manual/user-manual-intro.xml b/bitbake/doc/user-manual/user-manual-intro.xml
index 6f9ad2049a..d46e823c72 100644
--- a/bitbake/doc/user-manual/user-manual-intro.xml
+++ b/bitbake/doc/user-manual/user-manual-intro.xml
@@ -6,10 +6,10 @@
6 6
7 <para> 7 <para>
8 Welcome to the BitBake User Manual. 8 Welcome to the BitBake User Manual.
9 This manual provides information on BitBake. 9 This manual provides information on the BitBake tool.
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 OpenEmbeddeded. 12 OpenEmbedded.
13 In some cases, scenarios or examples that within the context of 13 In some cases, scenarios or examples that 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.
@@ -88,7 +88,7 @@
88 an aspiring embedded Linux distribution. 88 an aspiring embedded Linux distribution.
89 All of the build systems used by traditional desktop Linux 89 All of the build systems used by traditional desktop Linux
90 distributions lacked important functionality, and none of the 90 distributions lacked important functionality, and none of the
91 ad-hoc buildroot systems, prevalent in the 91 ad-hoc Buildroot-based systems, prevalent in the
92 embedded space, were scalable or maintainable. 92 embedded space, were scalable or maintainable.
93 </para> 93 </para>
94 94
@@ -216,7 +216,7 @@
216 216
217 <para> 217 <para>
218 Within the context of BitBake, or any project utilizing BitBake 218 Within the context of BitBake, or any project utilizing BitBake
219 as it's build system, files with the <filename>.bb</filename> 219 as its build system, files with the <filename>.bb</filename>
220 extension are referred to as recipes. 220 extension are referred to as recipes.
221 <note> 221 <note>
222 The term "package" is also commonly used to describe recipes. 222 The term "package" is also commonly used to describe recipes.
@@ -282,7 +282,7 @@
282 282
283 <para> 283 <para>
284 To illustrate how you can use layers to keep things modular, 284 To illustrate how you can use layers to keep things modular,
285 consider machine customizations. 285 consider customizations you might make to support a specific target machine.
286 These types of customizations typically reside in a special layer, 286 These types of customizations typically reside in a special layer,
287 rather than a general layer, called a Board Specific Package (BSP) Layer. 287 rather than a general layer, called a Board Specific Package (BSP) Layer.
288 Furthermore, the machine customizations should be isolated from 288 Furthermore, the machine customizations should be isolated from
@@ -343,7 +343,7 @@
343 <filename>busybox_1.3.0.bb</filename>, the append name would not 343 <filename>busybox_1.3.0.bb</filename>, the append name would not
344 match. 344 match.
345 However, if you named the append file 345 However, if you named the append file
346 <filename>busybox_1.%.bb</filename>, then you would have a match. 346 <filename>busybox_1.%.bbappend</filename>, then you would have a match.
347 </para> 347 </para>
348 </section> 348 </section>
349 </section> 349 </section>
@@ -421,20 +421,10 @@
421 <title>The BitBake Command</title> 421 <title>The BitBake Command</title>
422 422
423 <para> 423 <para>
424 BitBake is the underlying piece of the build system. 424 The BitBake command is the primary interface to the BitBake
425 Two excellent examples are the Yocto Project and the OpenEmbedded 425 tool.
426 build systems. 426 This section presents the BitBake command syntax and provides
427 Each provide an environment in which to develop embedded Linux 427 several execution examples.
428 images, and each use BitBake as their underlying build engine.
429 </para>
430
431 <para>
432 BitBake facilitates executing tasks in a single <filename>.bb</filename>
433 file, or executing a given task on a set of multiple
434 <filename>.bb</filename> files, accounting for interdependencies
435 amongst them.
436 This section presents the BitBake syntax and provides some execution
437 examples.
438 </para> 428 </para>
439 429
440 <section id='usage-and-syntax'> 430 <section id='usage-and-syntax'>
@@ -539,17 +529,21 @@ Options:
539 </para> 529 </para>
540 530
541 <para> 531 <para>
542 The following command runs the clean task on the
543 <filename>foo_1.0.bb</filename> recipe file:
544 <literallayout class='monospaced'>
545 $ bitbake -b foo.bb -c clean
546 </literallayout>
547 The following command runs the build task, which is 532 The following command runs the build task, which is
548 the default task, on the <filename>foo_1.0.bb</filename> 533 the default task, on the <filename>foo_1.0.bb</filename>
549 recipe file: 534 recipe file:
550 <literallayout class='monospaced'> 535 <literallayout class='monospaced'>
551 $ bitbake -b foo_1.0.bb 536 $ bitbake -b foo_1.0.bb
552 </literallayout> 537 </literallayout>
538 The following command runs the clean task on the
539 <filename>foo_1.0.bb</filename> recipe file:
540 <literallayout class='monospaced'>
541 $ bitbake -b foo.bb -c clean
542 </literallayout>
543 <note>
544 The "-b" option explicitly does not handle recipe
545 dependencies.
546 </note>
553 </para> 547 </para>
554 </section> 548 </section>
555 549
@@ -573,7 +567,7 @@ Options:
573 567
574 <para> 568 <para>
575 The <filename>bitbake</filename> command, when not using 569 The <filename>bitbake</filename> command, when not using
576 "--buildfile" or "-b" only accepts a "PROVIDER". 570 "--buildfile" or "-b" only accepts a "PROVIDES".
577 You cannot provide anything else. 571 You cannot provide anything else.
578 By default, a recipe file generally "PROVIDES" its 572 By default, a recipe file generally "PROVIDES" its
579 "packagename", "packagename-version", and 573 "packagename", "packagename-version", and
@@ -581,10 +575,6 @@ Options:
581 example: 575 example:
582 <literallayout class='monospaced'> 576 <literallayout class='monospaced'>
583 $ bitbake foo 577 $ bitbake foo
584
585 $ bitbake foo-1.0
586
587 $ bitbake foo-1.0-r0
588 </literallayout> 578 </literallayout>
589 This next example "PROVIDES" the package name and also uses 579 This next example "PROVIDES" the package name and also uses
590 the "-c" option to tell BitBake to just execute the 580 the "-c" option to tell BitBake to just execute the
@@ -600,22 +590,35 @@ Options:
600 590
601 <para> 591 <para>
602 BitBake is able to generate dependency graphs using 592 BitBake is able to generate dependency graphs using
603 the dot syntax. 593 the <filename>dot</filename> syntax.
604 You can convert these graphs into images using the dot 594 You can convert these graphs into images using the
605 application from 595 <filename>dot</filename> tool from
606 <ulink url='http://www.graphviz.org'>Graphviz</ulink>. 596 <ulink url='http://www.graphviz.org'>Graphviz</ulink>.
607 </para> 597 </para>
608 598
609 <para> 599 <para>
610 When you generate a dependency graph, BitBake writes two files 600 When you generate a dependency graph, BitBake writes four files
611 to the current working directory: 601 to the current working directory:
612 <filename>depends.dot</filename>, which contains dependency information 602 <itemizedlist>
613 at the package level, and <filename>task-depends.dot</filename>, 603 <listitem><para><emphasis><filename>package-depends.dot</filename>:</emphasis>
614 which contains a breakdown of the dependencies at the task level. 604 Shows BitBake's knowledge of dependencies between
605 runtime targets.
606 </para></listitem>
607 <listitem><para><emphasis><filename>pn-depends.dot</filename>:</emphasis>
608 Shows dependencies between build-time targets
609 (i.e. recipes).
610 </para></listitem>
611 <listitem><para><emphasis><filename>task-depends.dot</filename>:</emphasis>
612 Shows dependencies between tasks.
613 </para></listitem>
614 <listitem><para><emphasis><filename>pn-buildlist</filename>:</emphasis>
615 Shows a simple list of targets that are to be built.
616 </para></listitem>
617 </itemizedlist>
615 </para> 618 </para>
616 619
617 <para> 620 <para>
618 To stop depending on common depends, use use the "-I" depend 621 To stop depending on common depends, use the "-I" depend
619 option and BitBake omits them from the graph. 622 option and BitBake omits them from the graph.
620 Leaving this information out can produce more readable graphs. 623 Leaving this information out can produce more readable graphs.
621 This way, you can remove from the graph 624 This way, you can remove from the graph
@@ -629,7 +632,7 @@ Options:
629 <literallayout class='monospaced'> 632 <literallayout class='monospaced'>
630 $ bitbake -g foo 633 $ bitbake -g foo
631 634
632 $ bitbake -g -I virtual/whatever -I bloom foo 635 $ bitbake -g -I virtual/kernel -I eglibc foo
633 </literallayout> 636 </literallayout>
634 </para> 637 </para>
635 </section> 638 </section>