diff options
Diffstat (limited to 'documentation')
-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> |