diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-09-16 11:29:01 -0700 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-22 12:20:46 +0100 | 
| commit | 80c66fd7ced3d59a92d100bb6757756e91d28363 (patch) | |
| tree | 4ec8408819cf6c8cb4c9108018df580f7884fea2 /documentation/ref-manual | |
| parent | 070ab3605330bb57438c4ebc7c592f7d6a8e58bc (diff) | |
| download | poky-80c66fd7ced3d59a92d100bb6757756e91d28363.tar.gz | |
ref-manual, mega-manual: Updates to the Image Generation section
Fixes [YOCTO #2808]
Applied review comments to the section from Paul Eggleton.  I
updated the figure and the text areas.
(From yocto-docs rev: a89b126861e8ee2f43a89afb0a16e56659270fee)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual')
| -rw-r--r-- | documentation/ref-manual/closer-look.xml | 96 | ||||
| -rw-r--r-- | documentation/ref-manual/figures/image-generation.png | bin | 46084 -> 47573 bytes | 
2 files changed, 46 insertions, 50 deletions
diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml index 5a7d111890..0a6c56c048 100644 --- a/documentation/ref-manual/closer-look.xml +++ b/documentation/ref-manual/closer-look.xml  | |||
| @@ -106,7 +106,7 @@ | |||
| 106 | configuration files. | 106 | configuration files. | 
| 107 | These example files are used as a basis for creating actual | 107 | These example files are used as a basis for creating actual | 
| 108 | configuration files when you source the build environment | 108 | configuration files when you source the build environment | 
| 109 | script | 109 | script | 
| 110 | (i.e. | 110 | (i.e. | 
| 111 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> | 111 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> | 
| 112 | or | 112 | or | 
| @@ -129,8 +129,8 @@ | |||
| 129 | <para> | 129 | <para> | 
| 130 | Because the Poky repository is fundamentally an aggregation of | 130 | Because the Poky repository is fundamentally an aggregation of | 
| 131 | existing repositories, some users might be familiar with running | 131 | existing repositories, some users might be familiar with running | 
| 132 | the <filename>&OE_INIT_FILE;</filename> or | 132 | the <filename>&OE_INIT_FILE;</filename> or | 
| 133 | <filename>oe-init-build-env-memres</filename> script in the context | 133 | <filename>oe-init-build-env-memres</filename> script in the context | 
| 134 | of separate OpenEmbedded-Core and BitBake repositories rather than a | 134 | of separate OpenEmbedded-Core and BitBake repositories rather than a | 
| 135 | single Poky repository. | 135 | single Poky repository. | 
| 136 | This discussion assumes the script is executed from within a cloned | 136 | This discussion assumes the script is executed from within a cloned | 
| @@ -297,7 +297,7 @@ | |||
| 297 | <para> | 297 | <para> | 
| 298 | The following figure shows an expanded representation of the | 298 | The following figure shows an expanded representation of the | 
| 299 | Metadata, Machine Configuration, and Policy Configuration input | 299 | Metadata, Machine Configuration, and Policy Configuration input | 
| 300 | (layers) boxes of the | 300 | (layers) boxes of the | 
| 301 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link>: | 301 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link>: | 
| 302 | </para> | 302 | </para> | 
| 303 | 303 | ||
| @@ -452,7 +452,7 @@ | |||
| 452 | <para> | 452 | <para> | 
| 453 | In order for the OpenEmbedded build system to create an image or | 453 | In order for the OpenEmbedded build system to create an image or | 
| 454 | any target, it must be able to access source files. | 454 | any target, it must be able to access source files. | 
| 455 | The | 455 | The | 
| 456 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link> | 456 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link> | 
| 457 | represents source files using the "Upstream Project Releases", | 457 | represents source files using the "Upstream Project Releases", | 
| 458 | "Local Projects", and "SCMs (optional)" boxes. | 458 | "Local Projects", and "SCMs (optional)" boxes. | 
| @@ -608,7 +608,7 @@ | |||
| 608 | When the OpenEmbedded build system generates an image or an SDK, | 608 | When the OpenEmbedded build system generates an image or an SDK, | 
| 609 | it gets the packages from a package feed area located in the | 609 | it gets the packages from a package feed area located in the | 
| 610 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | 610 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | 
| 611 | The | 611 | The | 
| 612 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link> | 612 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link> | 
| 613 | shows this package feeds area in the upper-right corner. | 613 | shows this package feeds area in the upper-right corner. | 
| 614 | </para> | 614 | </para> | 
| @@ -887,84 +887,80 @@ | |||
| 887 | <title>Image Generation</title> | 887 | <title>Image Generation</title> | 
| 888 | 888 | ||
| 889 | <para> | 889 | <para> | 
| 890 | Once packages are split and stored in the Package Feeds area, | 890 | Once packages are split and stored in the Package Feeds area, | 
| 891 | the OpenEmbedded build system uses BitBake to generate the | 891 | the OpenEmbedded build system uses BitBake to generate the | 
| 892 | root filesystem image: | 892 | root filesystem image: | 
| 893 | <imagedata fileref="figures/image-generation.png" align="center" width="6in" depth="7in" /> | 893 | <imagedata fileref="figures/image-generation.png" align="center" width="6in" depth="7in" /> | 
| 894 | </para> | 894 | </para> | 
| 895 | 895 | ||
| 896 | <para> | 896 | <para> | 
| 897 | The image generation process consists of several stages and | 897 | The image generation process consists of several stages and | 
| 898 | depends on many variables. | 898 | depends on many variables. | 
| 899 | The <filename>do_rootfs</filename> task uses these key variables | 899 | The <filename>do_rootfs</filename> task uses these key variables | 
| 900 | to help create the list of packages to actually install: | 900 | to help create the list of packages to actually install: | 
| 901 | <itemizedlist> | 901 | <itemizedlist> | 
| 902 | <listitem><para><link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link>: | 902 | <listitem><para><link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link>: | 
| 903 | Lists out the base set of packages to install from | 903 | Lists out the base set of packages to install from | 
| 904 | the Package Feeds area.</para></listitem> | 904 | the Package Feeds area.</para></listitem> | 
| 905 | <listitem><para><link linkend='var-PACKAGE_EXCLUDE'><filename>PACKAGE_EXCLUDE</filename></link>: | 905 | <listitem><para><link linkend='var-PACKAGE_EXCLUDE'><filename>PACKAGE_EXCLUDE</filename></link>: | 
| 906 | Specifies packages that should not be installed. | 906 | Specifies packages that should not be installed. | 
| 907 | </para></listitem> | 907 | </para></listitem> | 
| 908 | <listitem><para><link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>: | 908 | <listitem><para><link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>: | 
| 909 | Specifies features to include in the image. | 909 | Specifies features to include in the image. | 
| 910 | These features map to additional packages for | 910 | Most of these features map to additional packages for | 
| 911 | installation.</para></listitem> | 911 | installation.</para></listitem> | 
| 912 | <listitem><para><link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>: | 912 | <listitem><para><link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>: | 
| 913 | Specifies the package manager to use and consequently | 913 | Specifies the package backend to use and consequently | 
| 914 | helps determine where to locate packages within the | 914 | helps determine where to locate packages within the | 
| 915 | Package Feeds area.</para></listitem> | 915 | Package Feeds area.</para></listitem> | 
| 916 | <listitem><para><link linkend='var-IMAGE_LINGUAS'><filename>IMAGE_LINGUAS</filename></link>: | 916 | <listitem><para><link linkend='var-IMAGE_LINGUAS'><filename>IMAGE_LINGUAS</filename></link>: | 
| 917 | Determines the language for which packages are being | 917 | Determines the language(s) for which additional | 
| 918 | installed.</para></listitem> | 918 | language support packages are installed. | 
| 919 | </para></listitem> | ||
| 919 | </itemizedlist> | 920 | </itemizedlist> | 
| 920 | </para> | 921 | </para> | 
| 921 | 922 | ||
| 922 | <para> | 923 | <para> | 
| 923 | Part of the image generation process includes compressing the | 924 | The process runs all of the post installation scripts, and | 
| 924 | root filesystem image. | 925 | any that fail to run on the build host will be run on the | 
| 925 | Compression is accomplished through several optimization | 926 | target when the target system is first booted. | 
| 926 | routines designed to reduce the overall size of the image. | ||
| 927 | </para> | ||
| 928 | |||
| 929 | <para> | ||
| 930 | The process runs as many post installation scripts as possible. | ||
| 931 | Any scripts that cannot be run are run when the system is | ||
| 932 | first booted. | ||
| 933 | If you are using a read-only root filesystem, all the post | 927 | If you are using a read-only root filesystem, all the post | 
| 934 | installation scripts are run during the package installation | 928 | installation scripts must succeed during the package | 
| 935 | phase since the root filesystem cannot be written into. | 929 | installation phase since the root filesystem cannot be | 
| 930 | written into. | ||
| 936 | </para> | 931 | </para> | 
| 937 | 932 | ||
| 938 | <para> | 933 | <para> | 
| 939 | During the Prelink phase, optimization processes are run across | 934 | During Optimization, optimizing processes are run across | 
| 940 | the image. | 935 | the image. | 
| 941 | These processes include <filename>mklibs</filename> and | 936 | These processes include <filename>mklibs</filename> and | 
| 942 | <filename>prelink</filename>. | 937 | <filename>prelink</filename>. | 
| 943 | The <filename>mklibs</filename> optimizes the size of the | 938 | The <filename>mklibs</filename> optimizes the size of the | 
| 944 | libraries. | 939 | libraries. | 
| 945 | The <filename>prelink</filename> process optimizes the dynamic | 940 | A <filename>prelink</filename> process optimizes the dynamic | 
| 946 | linking of shared libraries to reduce start up time of the | 941 | linking of shared libraries to reduce start up time of the | 
| 947 | executables. | 942 | executables. | 
| 948 | See the | 943 | </para> | 
| 949 | <link linkend='var-IMAGE_POSTPROCESS_COMMAND'><filename>IMAGE_POSTPROCESS_COMMAND</filename></link> | 944 | |
| 950 | and | 945 | <para> | 
| 951 | <link linkend='var-ROOTFS_POSTPROCESS_COMMAND'><filename>ROOTFS_POSTPROCESS_COMMAND</filename></link> | 946 | Part of the image generation process includes compressing the | 
| 952 | variables for additional information. | 947 | root filesystem image. | 
| 948 | Compression is accomplished through several optimization | ||
| 949 | routines designed to reduce the overall size of the image. | ||
| 953 | </para> | 950 | </para> | 
| 954 | 951 | ||
| 955 | <para> | 952 | <para> | 
| 956 | After the root filesystem has been constructed, the image | 953 | After the root filesystem has been constructed, the image | 
| 957 | generation process turns everything into an image file or | 954 | generation process turns everything into an image file or | 
| 958 | a set of image files. | 955 | a set of image files. | 
| 959 | we need to turn into an image file or set of image files. | 956 | The formats used for the root filesystem depend on the | 
| 960 | The formats used for the root filesystem depend on the | ||
| 961 | <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link> | 957 | <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link> | 
| 962 | variable. | 958 | variable. | 
| 963 | </para> | 959 | </para> | 
| 964 | 960 | ||
| 965 | <note> | 961 | <note> | 
| 966 | The entire image generation process is run under Pseudo. | 962 | The entire image generation process is run under Pseudo. | 
| 967 | Running under Pseudo ensures that the files in the root | 963 | Running under Pseudo ensures that the files in the root | 
| 968 | filesystem have correct ownership. | 964 | filesystem have correct ownership. | 
| 969 | </note> | 965 | </note> | 
| 970 | </section> | 966 | </section> | 
| @@ -977,7 +973,7 @@ | |||
| 977 | The images produced by the OpenEmbedded build system | 973 | The images produced by the OpenEmbedded build system | 
| 978 | are compressed forms of the | 974 | are compressed forms of the | 
| 979 | root filesystems that are ready to boot on a target device. | 975 | root filesystems that are ready to boot on a target device. | 
| 980 | You can see from the | 976 | You can see from the | 
| 981 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link> | 977 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link> | 
| 982 | that BitBake output in part consists of images. | 978 | that BitBake output in part consists of images. | 
| 983 | This section is going to look more closely at this output: | 979 | This section is going to look more closely at this output: | 
| @@ -1049,7 +1045,7 @@ | |||
| 1049 | <title>Application Development SDK</title> | 1045 | <title>Application Development SDK</title> | 
| 1050 | 1046 | ||
| 1051 | <para> | 1047 | <para> | 
| 1052 | In the | 1048 | In the | 
| 1053 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link>, | 1049 | <link linkend='general-yocto-environment-figure'>general Yocto Project Development Environment figure</link>, | 
| 1054 | the output labeled "Application Development SDK" represents an | 1050 | the output labeled "Application Development SDK" represents an | 
| 1055 | SDK. | 1051 | SDK. | 
diff --git a/documentation/ref-manual/figures/image-generation.png b/documentation/ref-manual/figures/image-generation.png index ae82e5a118..45aad7c7a8 100644 --- a/documentation/ref-manual/figures/image-generation.png +++ b/documentation/ref-manual/figures/image-generation.png  | |||
| Binary files differ | |||
