diff options
| -rw-r--r-- | documentation/ref-manual/closer-look.xml | 91 |
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> |
