diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-08-05 13:45:59 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-08-13 13:18:47 +0100 |
commit | 93c76f4c65b6981701bdb91671b2bccde8d84eed (patch) | |
tree | dcac912bc8672a88c3750509c00de6912df7c1e6 /documentation/ref-manual/technical-details.xml | |
parent | 4b23d26063790c4dad466cf8a0af8ba4a0970f1d (diff) | |
download | poky-93c76f4c65b6981701bdb91671b2bccde8d84eed.tar.gz |
ref-manual, mega-manual, Makefile: Updates to expanded dev section
Fixes [YOCTO #2808]
Applied review comments to the "Images" and SDK sections that
are part of the "A Closer Look at the Yocto Project Development
Environment" section. Comments from Paul. They resulted
in a single figure being removed and split into two new
figures - one for the image part and one for the sdk part.
Some terminology issues were cleaned up in the main sections
as well as the documented variables sections.
Makefile changes involved adding the two new figures and
removing the old combined one.
(From yocto-docs rev: a32908fa68b9786e295097c16f70a5a9c3cc4c1e)
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/technical-details.xml')
-rw-r--r-- | documentation/ref-manual/technical-details.xml | 295 |
1 files changed, 149 insertions, 146 deletions
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 6ae8ee50e0..97fd629a74 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml | |||
@@ -172,7 +172,7 @@ | |||
172 | </para> | 172 | </para> |
173 | 173 | ||
174 | <para> | 174 | <para> |
175 | The generalized Yocto Project Devevelopment Environment consists of | 175 | The generalized Yocto Project Development Environment consists of |
176 | several functional areas: | 176 | several functional areas: |
177 | <itemizedlist> | 177 | <itemizedlist> |
178 | <listitem><para><emphasis>User Configuration:</emphasis> | 178 | <listitem><para><emphasis>User Configuration:</emphasis> |
@@ -797,167 +797,170 @@ | |||
797 | </para> | 797 | </para> |
798 | </section> | 798 | </section> |
799 | 799 | ||
800 | <section id='images-and-application-development-sdk'> | 800 | <section id='images-dev-environment'> |
801 | <title>Images and Application Development SDK</title> | 801 | <title>Images</title> |
802 | 802 | ||
803 | <para> | 803 | <para> |
804 | The purpose of using the OpenEmbedded build system is to produce | 804 | The images produced by the OpenEmbedded build system |
805 | an image or a Software Development Kit (SDK). | 805 | are compressed forms of the |
806 | root filesystems that are ready to boot on a target device. | ||
806 | You can see from the main | 807 | You can see from the main |
807 | <link linkend='a-closer-look-at-the-yocto-project-development-environment'>Yocto Project Development Environment</link> | 808 | <link linkend='a-closer-look-at-the-yocto-project-development-environment'>Yocto Project Development Environment</link> |
808 | figure that the output (shown in red) are images and SDKs. | 809 | figure that BitBake output in part consists of images. |
809 | This section is going to look more closely at this output: | 810 | This section is going to look more closely at this output: |
810 | <imagedata fileref="figures/images-sdk.png" align="center" width="5in" depth="4in" /> | 811 | <imagedata fileref="figures/images.png" align="center" width="5in" depth="4in" /> |
811 | </para> | 812 | </para> |
812 | 813 | ||
813 | <section id='images-dev-environment'> | 814 | <para> |
814 | <title>Images</title> | 815 | For a list of example images that the Yocto Project provides, |
816 | the | ||
817 | "<link linkend='ref-images'>Images</link>" chapter. | ||
818 | </para> | ||
815 | 819 | ||
816 | <para> | 820 | <para> |
817 | The images produced by BitBake are compressed forms of the | 821 | Images are written out to the |
818 | root filesystems that are ready to boot on a target device. | 822 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> |
819 | You can see the | 823 | inside the <filename>deploy/images</filename> folder as shown |
820 | "<link linkend='ref-images'>Images</link>" chapter for a list | 824 | in the figure. |
821 | of example images that the Yocto Project provides. | 825 | This folder contains any files expected to be loaded on the |
822 | </para> | 826 | target device. |
827 | The | ||
828 | <link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link> | ||
829 | variable points to the <filename>deploy</filename> directory. | ||
830 | <itemizedlist> | ||
831 | <listitem><para><filename><kernel-image></filename>: | ||
832 | A kernel binary file. | ||
833 | The <link linkend='var-KERNEL_IMAGETYPE'><filename>KERNEL_IMAGETYPE</filename></link> | ||
834 | variable setting determines the naming scheme for the | ||
835 | kernel image file. | ||
836 | Depending on that variable, the file could begin with | ||
837 | a variety of naming strings. | ||
838 | The <filename>deploy/images</filename> directory can | ||
839 | contain multiple image files.</para></listitem> | ||
840 | <listitem><para><filename><root-filesystem-image></filename>: | ||
841 | Root filesystems for the target device (e.g. | ||
842 | <filename>*.ext3</filename> or <filename>*.bz2</filename> | ||
843 | files). | ||
844 | The <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link> | ||
845 | variable setting determines the root filesystem image | ||
846 | type. | ||
847 | The <filename>deploy/images</filename> directory can | ||
848 | contain multiple root filesystems.</para></listitem> | ||
849 | <listitem><para><filename><kernel-modules></filename>: | ||
850 | Tarballs that contain all the modules used by the | ||
851 | kernel. | ||
852 | Kernel module tarballs exist for legacy purposes and | ||
853 | can be suppressed by setting the | ||
854 | <link linkend='var-MODULE_TARBALL_DEPLOY'><filename>MODULE_TARBALL_DEPLOY</filename></link> | ||
855 | variable to "0". | ||
856 | The <filename>deploy/images</filename> directory can | ||
857 | contain multiple kernel module tarballs. | ||
858 | </para></listitem> | ||
859 | <listitem><para><filename><bootloaders></filename>: | ||
860 | Bootloaders supporting the image, if applicable to the | ||
861 | target machine. | ||
862 | The <filename>deploy/images</filename> directory can | ||
863 | contain multiple bootloaders. | ||
864 | </para></listitem> | ||
865 | <listitem><para><filename><symlinks></filename>: | ||
866 | The <filename>images/deploy</filename> folder contains | ||
867 | a symbolic link that points to the most recently built file | ||
868 | for each machine. | ||
869 | These links might be useful for external scripts that | ||
870 | need to obtain the latest version of each file. | ||
871 | </para></listitem> | ||
872 | </itemizedlist> | ||
873 | </para> | ||
874 | </section> | ||
823 | 875 | ||
824 | <para> | 876 | <section id='sdk-dev-environment'> |
825 | Images are kept in the | 877 | <title>Application Development SDK</title> |
826 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | ||
827 | inside the <filename>deploy/images</filename> folder as shown | ||
828 | in the figure. | ||
829 | This folder contains any files expected to be loaded on the | ||
830 | target device. | ||
831 | The | ||
832 | <link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link> | ||
833 | variable points to the <filename>deploy</filename> directory. | ||
834 | <itemizedlist> | ||
835 | <listitem><para><filename><image></filename>: | ||
836 | A <filename>*.bin</filename> image file. | ||
837 | The <link linkend='var-KERNEL_IMAGETYPE'><filename>KERNEL_IMAGETYPE</filename></link> | ||
838 | variable setting determines the naming scheme for the | ||
839 | image file. | ||
840 | Depending on that variable, the file could begin with | ||
841 | a variety of naming strings. | ||
842 | The <filename>deploy/images</filename> directory can | ||
843 | contain multiple image files.</para></listitem> | ||
844 | <listitem><para><filename><root-filesystem></filename>: | ||
845 | Root filesystems for the target device (e.g. | ||
846 | <filename>*.ext3</filename> or <filename>*.bz2</filename> | ||
847 | files). | ||
848 | The <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link> | ||
849 | variable setting determines the root filesystem | ||
850 | type. | ||
851 | The <filename>deploy/images</filename> directory can | ||
852 | contain multiple root filesystems.</para></listitem> | ||
853 | <listitem><para><filename><kernel-modules></filename>: | ||
854 | Tarballs that contain all the modules used by the | ||
855 | kernel. | ||
856 | Kernel module tarballs exist for legacy purposes and | ||
857 | can be suppressed by setting the | ||
858 | <link linkend='var-MODULE_TARBALL_DEPLOY'><filename>MODULE_TARBALL_DEPLOY</filename></link> | ||
859 | variable to "0". | ||
860 | The <filename>deploy/images</filename> directory can | ||
861 | contain multiple kernel module tarballs. | ||
862 | </para></listitem> | ||
863 | <listitem><para><filename><bootloaders></filename>: | ||
864 | Bootloaders supporting the image. | ||
865 | The <filename>deploy/images</filename> directory can | ||
866 | contain multiple bootloaders. | ||
867 | </para></listitem> | ||
868 | <listitem><para><filename><symlinks></filename>: | ||
869 | The <filename>images/deploy</filename> folder contains | ||
870 | a symbolic link for each actual file in the folder. | ||
871 | Links exist for all types of files (i.e. images, | ||
872 | root filesystems, bootloaders, and kernel module | ||
873 | tarballs). | ||
874 | The link scheme for images is such that a single link | ||
875 | exists for the most recently built image. | ||
876 | In addition to that single image link, additional | ||
877 | links exist on a one-for-one basis that map to each | ||
878 | physical image file.</para></listitem> | ||
879 | </itemizedlist> | ||
880 | </para> | ||
881 | </section> | ||
882 | 878 | ||
883 | <section id='sdk-dev-environment'> | 879 | <para> |
884 | <title>Application Development SDK</title> | 880 | In the overview figure of the |
881 | <link linkend='a-closer-look-at-the-yocto-project-development-environment'>Yocto Project Development Environment</link> | ||
882 | the output labeled "Application Development SDK" represents an | ||
883 | SDK. | ||
884 | This section is going to take a closer look at this output: | ||
885 | <imagedata fileref="figures/sdk.png" align="center" width="5in" depth="4in" /> | ||
886 | </para> | ||
885 | 887 | ||
888 | <para> | ||
889 | The specific form of this output is a self-extracting | ||
890 | SDK installer (<filename>*.sh</filename>) that, when run, | ||
891 | installs the SDK image, which consists of a cross-development | ||
892 | toolchain, a set of libraries and headers, and an SDK | ||
893 | environment setup script. | ||
894 | Running this installer essentially sets up your | ||
895 | cross-development environment. | ||
896 | You can think of the cross-toolchains as the "host" part | ||
897 | because they run on the SDK machine. | ||
898 | You can think of the libraries and headers as the "target" | ||
899 | part because they are built for the target hardware. | ||
900 | The setup script is added so that you can initialize the | ||
901 | environment before using the tools. | ||
902 | </para> | ||
903 | |||
904 | <note> | ||
886 | <para> | 905 | <para> |
887 | An Application Development SDK (referred to as an | 906 | The Yocto Project supports several methods by which you can |
888 | "SDK installer" in this section) is a self-extracting SDK | 907 | set up this cross-development environment. |
889 | installer file (<filename>*.sh</filename>) that, when run, | 908 | These methods include downloading pre-built SDK installers, |
890 | installs a cross-development toolchain, a set of libraries | 909 | building and installing your own SDK installer, or running |
891 | and headers, and an SDK environment setup script. | 910 | an Application Development Toolkit (ADT) installer to |
892 | Running this installer essentially sets up your | 911 | install not just cross-development toolchains |
893 | cross-development environment. | 912 | but also additional tools to help in this type of |
894 | You can think of the cross-toolchains as the "host" part | 913 | development. |
895 | because they run on the SDK machine. | ||
896 | You can think of the libraries and headers as the "target" | ||
897 | part because they are built for the target hardware. | ||
898 | The setup script is added so that you can initialize the | ||
899 | environment before using the tools. | ||
900 | </para> | 914 | </para> |
901 | 915 | ||
902 | <note> | ||
903 | <para> | ||
904 | The Yocto Project supports several methods by which you can | ||
905 | set up this cross-development environment. | ||
906 | These methods include downloading pre-built SDK installers, | ||
907 | building and installing your own SKD installer, or running | ||
908 | an Application Development Toolkit (ADT) installer to | ||
909 | install not just cross-development toolchains | ||
910 | but also additional tools to help in this type of | ||
911 | development. | ||
912 | </para> | ||
913 | |||
914 | <para> | ||
915 | For background information on cross-development toolchains | ||
916 | in the Yocto Project development environment, see the | ||
917 | "<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>" | ||
918 | section. | ||
919 | For information on setting up a cross-development | ||
920 | environment, see the | ||
921 | "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" | ||
922 | section in the Yocto Project Application Developer's Guide. | ||
923 | </para> | ||
924 | </note> | ||
925 | |||
926 | <para> | 916 | <para> |
927 | When built using BitBake, the SDK installers are kept in the | 917 | For background information on cross-development toolchains |
928 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | 918 | in the Yocto Project development environment, see the |
929 | inside the <filename>deploy/sdk</filename> folder as shown | 919 | "<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>" |
930 | in the figure at the beginning of this section. | 920 | section. |
931 | Several variables exist that help configure these files: | 921 | For information on setting up a cross-development |
932 | <itemizedlist> | 922 | environment, see the |
933 | <listitem><para><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>: | 923 | "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" |
934 | Points to the <filename>deploy</filename> | 924 | section in the Yocto Project Application Developer's Guide. |
935 | directory.</para></listitem> | ||
936 | <listitem><para><link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>: | ||
937 | Specifies the architecture of the machine | ||
938 | on which the cross-development tools are run to | ||
939 | create packages for the target hardware. | ||
940 | </para></listitem> | ||
941 | <listitem><para><link linkend='var-SDKIMAGE_FEATURES'><filename>SDKIMAGE_FEATURES</filename></link>: | ||
942 | Lists the features to include in the libraries. | ||
943 | </para></listitem> | ||
944 | <listitem><para><link linkend='var-TOOLCHAIN_HOSTS_TASKS'><filename>TOOLCHAIN_HOSTS_TASKS</filename></link>: | ||
945 | Lists packages that make up the host | ||
946 | part of the SDK installer (i.e. the part that runs on | ||
947 | the <filename>SDKMACHINE</filename>). | ||
948 | When you use <filename>bitbake sdk_populate</filename> | ||
949 | to create the SDK installer, a set of default tasks | ||
950 | apply. | ||
951 | This variable allows you to add more tasks. | ||
952 | </para></listitem> | ||
953 | <listitem><para><link linkend='var-TOOLCHAIN_TARGET_TASKS'><filename>TOOLCHAIN_TARGET_TASKS</filename></link>: | ||
954 | Lists packages that make up the target part | ||
955 | of the SDK installer (i.e. the part built for the | ||
956 | target hardware). | ||
957 | </para></listitem> | ||
958 | </itemizedlist> | ||
959 | </para> | 925 | </para> |
960 | </section> | 926 | </note> |
927 | |||
928 | <para> | ||
929 | Once built, the SDK installers are written out to the | ||
930 | <filename>deploy/sdk</filename> folder inside the | ||
931 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | ||
932 | as shown in the figure at the beginning of this section. | ||
933 | Several variables exist that help configure these files: | ||
934 | <itemizedlist> | ||
935 | <listitem><para><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>: | ||
936 | Points to the <filename>deploy</filename> | ||
937 | directory.</para></listitem> | ||
938 | <listitem><para><link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>: | ||
939 | Specifies the architecture of the machine | ||
940 | on which the cross-development tools are run to | ||
941 | create packages for the target hardware. | ||
942 | </para></listitem> | ||
943 | <listitem><para><link linkend='var-SDKIMAGE_FEATURES'><filename>SDKIMAGE_FEATURES</filename></link>: | ||
944 | Lists the features to include in the "target" part | ||
945 | of the SDK. | ||
946 | </para></listitem> | ||
947 | <listitem><para><link linkend='var-TOOLCHAIN_HOST_TASK'><filename>TOOLCHAIN_HOST_TASK</filename></link>: | ||
948 | Lists packages that make up the host | ||
949 | part of the SDK installer (i.e. the part that runs on | ||
950 | the <filename>SDKMACHINE</filename>). | ||
951 | When you use | ||
952 | <filename>bitbake -c populate_sdk <imagename></filename> | ||
953 | to create the SDK installer, a set of default packages | ||
954 | apply. | ||
955 | This variable allows you to add more packages. | ||
956 | </para></listitem> | ||
957 | <listitem><para><link linkend='var-TOOLCHAIN_TARGET_TASK'><filename>TOOLCHAIN_TARGET_TASK</filename></link>: | ||
958 | Lists packages that make up the target part | ||
959 | of the SDK installer (i.e. the part built for the | ||
960 | target hardware). | ||
961 | </para></listitem> | ||
962 | </itemizedlist> | ||
963 | </para> | ||
961 | </section> | 964 | </section> |
962 | </section> | 965 | </section> |
963 | 966 | ||