summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-09-16 11:29:01 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-22 12:20:46 +0100
commit80c66fd7ced3d59a92d100bb6757756e91d28363 (patch)
tree4ec8408819cf6c8cb4c9108018df580f7884fea2 /documentation/ref-manual
parent070ab3605330bb57438c4ebc7c592f7d6a8e58bc (diff)
downloadpoky-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.xml96
-rw-r--r--documentation/ref-manual/figures/image-generation.pngbin46084 -> 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