summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/closer-look.xml91
1 files changed, 56 insertions, 35 deletions
diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml
index 77ab4d2633..0699ccd30f 100644
--- a/documentation/ref-manual/closer-look.xml
+++ b/documentation/ref-manual/closer-look.xml
@@ -33,13 +33,14 @@
33 <listitem><para><emphasis>Source Files:</emphasis> 33 <listitem><para><emphasis>Source Files:</emphasis>
34 Upstream releases, local projects, and SCMs.</para></listitem> 34 Upstream releases, local projects, and SCMs.</para></listitem>
35 <listitem><para><emphasis>Build System:</emphasis> 35 <listitem><para><emphasis>Build System:</emphasis>
36 Processes under the control of BitBake. 36 Processes under the control of
37 <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>.
37 This block expands on how BitBake fetches source, applies 38 This block expands on how BitBake fetches source, applies
38 patches, completes compilation, analyzes output for package 39 patches, completes compilation, analyzes output for package
39 generation, creates and tests packages, generates images, and 40 generation, creates and tests packages, generates images, and
40 generates cross-development tools.</para></listitem> 41 generates cross-development tools.</para></listitem>
41 <listitem><para><emphasis>Package Feeds:</emphasis> 42 <listitem><para><emphasis>Package Feeds:</emphasis>
42 Directories containing output packages (rpm, deb or ipk), 43 Directories containing output packages (RPM, DEB or IPK),
43 which are subsequently used in the construction of an image or 44 which are subsequently used in the construction of an image or
44 SDK, produced by the build system. 45 SDK, produced by the build system.
45 These feeds can also be copied and shared using a web server or 46 These feeds can also be copied and shared using a web server or
@@ -48,8 +49,6 @@
48 enabled.</para></listitem> 49 enabled.</para></listitem>
49 <listitem><para><emphasis>Images:</emphasis> 50 <listitem><para><emphasis>Images:</emphasis>
50 Images produced by the development process. 51 Images produced by the development process.
51 Where do they go?
52 Can you mess with them (i.e. freely delete them or move them?).
53 </para></listitem> 52 </para></listitem>
54 <listitem><para><emphasis>Application Development SDK:</emphasis> 53 <listitem><para><emphasis>Application Development SDK:</emphasis>
55 Cross-development tools that are produced along with an image 54 Cross-development tools that are produced along with an image
@@ -545,7 +544,7 @@
545 <para> 544 <para>
546 The canonical method through which to include a local project 545 The canonical method through which to include a local project
547 is to use the 546 is to use the
548 <link linkend='ref-classes-externalsrc'><filename>externalsrc.bbclass</filename></link> 547 <link linkend='ref-classes-externalsrc'><filename>externalsrc</filename></link>
549 class to include that local project. 548 class to include that local project.
550 You use either the <filename>local.conf</filename> or a 549 You use either the <filename>local.conf</filename> or a
551 recipe's append file to override or set the 550 recipe's append file to override or set the
@@ -555,7 +554,7 @@
555 554
556 <para> 555 <para>
557 For information on how to use the 556 For information on how to use the
558 <filename>externalsrc.bbclass</filename>, see the 557 <filename>externalsrc</filename> class, see the
559 "<link linkend='ref-classes-externalsrc'><filename>externalsrc.bbclass</filename></link>" 558 "<link linkend='ref-classes-externalsrc'><filename>externalsrc.bbclass</filename></link>"
560 section. 559 section.
561 </para> 560 </para>
@@ -639,13 +638,13 @@
639 638
640 <para> 639 <para>
641 Package feeds are an intermediary step in the build process. 640 Package feeds are an intermediary step in the build process.
642 BitBake generates packages whose type is defined by the 641 BitBake generates packages whose types are defined by the
643 <link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link> 642 <link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>
644 variable. 643 variable.
645 Before placing the packages into package feeds, 644 Before placing the packages into package feeds,
646 the build process validates them with generated output quality 645 the build process validates them with generated output quality
647 assurance checks through the 646 assurance checks through the
648 <link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link> 647 <link linkend='ref-classes-insane'><filename>insane</filename></link>
649 class. 648 class.
650 </para> 649 </para>
651 650
@@ -674,13 +673,22 @@
674 <title>BitBake</title> 673 <title>BitBake</title>
675 674
676 <para> 675 <para>
677 The OpenEmbedded build system uses BitBake to produce images. 676 The OpenEmbedded build system uses
677 <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>
678 to produce images.
678 You can see from the 679 You can see from the
679 <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link>, 680 <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link>,
680 the BitBake area consists of several functional areas. 681 the BitBake area consists of several functional areas.
681 This section takes a closer look at each of those areas. 682 This section takes a closer look at each of those areas.
682 </para> 683 </para>
683 684
685 <para>
686 Separate documentation exists for the BitBake tool.
687 See the
688 <ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual'>BitBake User Manual</ulink>
689 for reference material on BitBake.
690 </para>
691
684 <section id='source-fetching-dev-environment'> 692 <section id='source-fetching-dev-environment'>
685 <title>Source Fetching</title> 693 <title>Source Fetching</title>
686 694
@@ -713,31 +721,34 @@
713 You can see the variables that define these directories 721 You can see the variables that define these directories
714 by looking at the figure: 722 by looking at the figure:
715 <itemizedlist> 723 <itemizedlist>
716 <listitem><para><link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> 724 <listitem><para><link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> -
725 The base directory where the OpenEmbedded build system
726 performs all its work during the build.
717 </para></listitem> 727 </para></listitem>
718 <listitem><para><link linkend='var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></link> 728 <listitem><para><link linkend='var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></link> -
729 The architecture of the built package or packages.
719 </para></listitem> 730 </para></listitem>
720 <listitem><para><link linkend='var-TARGET_OS'><filename>TARGET_OS</filename></link> 731 <listitem><para><link linkend='var-TARGET_OS'><filename>TARGET_OS</filename></link> -
732 The operating system of the target device.
721 </para></listitem> 733 </para></listitem>
722 <listitem><para><link linkend='var-PN'><filename>PN</filename></link> 734 <listitem><para><link linkend='var-PN'><filename>PN</filename></link> -
735 The name of the built package.
723 </para></listitem> 736 </para></listitem>
724 <listitem><para><link linkend='var-PV'><filename>PV</filename></link> 737 <listitem><para><link linkend='var-PV'><filename>PV</filename></link> -
738 The version of the recipe used to build the package.
725 </para></listitem> 739 </para></listitem>
726 <listitem><para><link linkend='var-PR'><filename>PR</filename></link> 740 <listitem><para><link linkend='var-PR'><filename>PR</filename></link> -
741 The revision of the recipe used to build the package.
727 </para></listitem> 742 </para></listitem>
728 <listitem><para><link linkend='var-WORKDIR'><filename>WORKDIR</filename></link> 743 <listitem><para><link linkend='var-WORKDIR'><filename>WORKDIR</filename></link> -
744 The location within <filename>TMPDIR</filename> where
745 a specific package is built.
729 </para></listitem> 746 </para></listitem>
730 <listitem><para><link linkend='var-S'><filename>S</filename></link> 747 <listitem><para><link linkend='var-S'><filename>S</filename></link> -
748 Contains the unpacked source files for a given recipe.
731 </para></listitem> 749 </para></listitem>
732 </itemizedlist> 750 </itemizedlist>
733 </para> 751 </para>
734
735 <para>
736 Briefly, the <filename>S</filename> directory contains the
737 unpacked source files for a recipe.
738 The <filename>WORKDIR</filename> directory is where all the
739 building goes on for a given recipe.
740 </para>
741 </section> 752 </section>
742 753
743 <section id='patching-dev-environment'> 754 <section id='patching-dev-environment'>
@@ -802,8 +813,9 @@
802 to source code configuration for the source code 813 to source code configuration for the source code
803 being built by the recipe.</para> 814 being built by the recipe.</para>
804 815
805 <para>If you are using 816 <para>If you are using the
806 <link linkend='ref-classes-autotools'><filename>autotools.bbclass</filename></link>, 817 <link linkend='ref-classes-autotools'><filename>autotools</filename></link>
818 class,
807 you can add additional configuration options by using 819 you can add additional configuration options by using
808 the <link linkend='var-EXTRA_OECONF'><filename>EXTRA_OECONF</filename></link> 820 the <link linkend='var-EXTRA_OECONF'><filename>EXTRA_OECONF</filename></link>
809 variable. 821 variable.
@@ -861,21 +873,30 @@
861 Working, staged, and intermediate results of the analysis 873 Working, staged, and intermediate results of the analysis
862 and package splitting process use these areas: 874 and package splitting process use these areas:
863 <itemizedlist> 875 <itemizedlist>
864 <listitem><para><link linkend='var-PKGD'><filename>PKGD</filename></link> 876 <listitem><para><link linkend='var-PKGD'><filename>PKGD</filename></link> -
877 The destination directory for packages before they are
878 split.
865 </para></listitem> 879 </para></listitem>
866 <listitem><para><link linkend='var-PKGDATA_DIR'><filename>PKGDATA_DIR</filename></link> 880 <listitem><para><link linkend='var-PKGDATA_DIR'><filename>PKGDATA_DIR</filename></link> -
881 A shared, global-state directory that holds data
882 generated during the packaging process.
867 </para></listitem> 883 </para></listitem>
868 <listitem><para><link linkend='var-PKGDESTWORK'><filename>PKGDESTWORK</filename></link> 884 <listitem><para><link linkend='var-PKGDESTWORK'><filename>PKGDESTWORK</filename></link> -
885 A temporary work area used by the
886 <filename>do_package</filename> task.
869 </para></listitem> 887 </para></listitem>
870 <listitem><para><link linkend='var-PKGDEST'><filename>PKGDEST</filename></link> 888 <listitem><para><link linkend='var-PKGDEST'><filename>PKGDEST</filename></link> -
889 The parent directory for packages after they have
890 been split.
871 </para></listitem> 891 </para></listitem>
872 </itemizedlist> 892 </itemizedlist>
873 The <link linkend='var-FILES'><filename>FILES</filename></link> 893 The <link linkend='var-FILES'><filename>FILES</filename></link>
874 variable defines the files that go into each package in 894 variable defines the files that go into each package in
875 <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>. 895 <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>.
876 If you want details on how this is accomplished, you can 896 If you want details on how this is accomplished, you can
877 look at 897 look at the
878 <link linkend='ref-classes-package'><filename>package.bbclass</filename></link>. 898 <link linkend='ref-classes-package'><filename>package</filename></link>
899 class.
879 </para> 900 </para>
880 901
881 <para> 902 <para>
@@ -954,8 +975,8 @@
954 If you are using a 975 If you are using a
955 <ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-read-only-root-filesystem'>read-only root filesystem</ulink>, 976 <ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-read-only-root-filesystem'>read-only root filesystem</ulink>,
956 all the post installation scripts must succeed during the 977 all the post installation scripts must succeed during the
957 package installation phase since the root filesystem cannot be 978 package installation phase since the root filesystem is
958 written into. 979 read-only.
959 </para> 980 </para>
960 981
961 <para> 982 <para>
@@ -1075,7 +1096,7 @@
1075 root filesystem that are ready to boot on a target device. 1096 root filesystem that are ready to boot on a target device.
1076 You can see from the 1097 You can see from the
1077 <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link> 1098 <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link>
1078 that BitBake output in part consists of images. 1099 that BitBake output, in part, consists of images.
1079 This section is going to look more closely at this output: 1100 This section is going to look more closely at this output:
1080 <imagedata fileref="figures/images.png" align="center" width="5.5in" depth="5.5in" /> 1101 <imagedata fileref="figures/images.png" align="center" width="5.5in" depth="5.5in" />
1081 </para> 1102 </para>