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 | |||