diff options
Diffstat (limited to 'documentation/getting-started/getting-started-yp-intro.xml')
-rw-r--r-- | documentation/getting-started/getting-started-yp-intro.xml | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/documentation/getting-started/getting-started-yp-intro.xml b/documentation/getting-started/getting-started-yp-intro.xml index 617e562753..964a500ad4 100644 --- a/documentation/getting-started/getting-started-yp-intro.xml +++ b/documentation/getting-started/getting-started-yp-intro.xml | |||
@@ -933,6 +933,142 @@ | |||
933 | <section id='reference-embedded-distribution'> | 933 | <section id='reference-embedded-distribution'> |
934 | <title>Reference Embedded Distribution (Poky)</title> | 934 | <title>Reference Embedded Distribution (Poky)</title> |
935 | 935 | ||
936 | <para> | ||
937 | "Poky", which is pronounced <emphasis>Pock</emphasis>-ee, is the | ||
938 | name of the Yocto Project's reference distribution or Reference OS | ||
939 | Kit. | ||
940 | Poky contains the | ||
941 | <ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded Build System</ulink> | ||
942 | build system | ||
943 | (<ulink url='&YOCTO_DOCS_REF_URL;#bitbake-term'>BitBake</ulink> and | ||
944 | <ulink url='&YOCTO_DOCS_REF_URL;#oe-core'>OpenEmbedded Core</ulink>) | ||
945 | as well as a set of | ||
946 | <ulink url='&YOCTO_DOCS_REF_URL;#metadata'>metadata</ulink> to get | ||
947 | you started building your own distro. | ||
948 | In other words, Poky is a base specification of the functionality | ||
949 | needed for a typical embedded system as well as the components | ||
950 | from the Yocto Project that allow you to build a distribution into | ||
951 | a usable binary image. | ||
952 | </para> | ||
953 | |||
954 | <para> | ||
955 | Poky is a combined repository of BitBake, OpenEmbedded-Core | ||
956 | (found in <filename>meta</filename>), | ||
957 | <filename>meta-poky</filename>, | ||
958 | <filename>meta-yocto-bsp</filename>, and documentation provided | ||
959 | all together and known to work well together. | ||
960 | You can view the Poky repository as part of the | ||
961 | <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>. | ||
962 | <note> | ||
963 | If you are interested in all the contents of the | ||
964 | <filename>poky</filename> Git repository, see the | ||
965 | "<ulink url='&YOCTO_DOCS_REF_URL;#structure-core'>Top-Level Core Components</ulink>" | ||
966 | section in the Yocto Project Reference Manual. | ||
967 | </note> | ||
968 | </para> | ||
969 | |||
970 | <para id='gs-poky-reference-distribution'> | ||
971 | The following figure illustrates what generally comprises Poky: | ||
972 | <imagedata fileref="figures/poky-reference-distribution.png" format="PNG" align='center' width="8in"/> | ||
973 | <itemizedlist> | ||
974 | <listitem><para> | ||
975 | BitBake is a task executor and scheduler that is the heart of | ||
976 | the OpenEmbedded build system. | ||
977 | </para></listitem> | ||
978 | <listitem><para> | ||
979 | <filename>meta-poky</filename>, which is Poky-specific | ||
980 | metadata. | ||
981 | </para></listitem> | ||
982 | <listitem><para> | ||
983 | <filename>meta-yocto-bsp</filename>, which is Yocto | ||
984 | Project-specific Board Support Packages (BSPs). | ||
985 | </para></listitem> | ||
986 | <listitem><para> | ||
987 | OpenEmbedded-Core (OE-Core) metadata, which includes | ||
988 | shared configurations, global variable definitions, | ||
989 | shared classes, packaging, and recipes. | ||
990 | Classes define the encapsulation and inheritance of build | ||
991 | logic. | ||
992 | Recipes are the logical units of software and images | ||
993 | to be built. | ||
994 | </para></listitem> | ||
995 | <listitem><para> | ||
996 | Documentation, which contains the Yocto Project source | ||
997 | files used to make the set of user manuals. | ||
998 | </para></listitem> | ||
999 | </itemizedlist> | ||
1000 | <note> | ||
1001 | While Poky is a "complete" distribution specification and is | ||
1002 | tested and put through QA, you cannot use it as a product | ||
1003 | "out of the box" in its current form. | ||
1004 | </note> | ||
1005 | </para> | ||
1006 | |||
1007 | <para> | ||
1008 | To use the Yocto Project tools, you can use Git to clone (download) | ||
1009 | the Poky repository then use your local copy of the reference | ||
1010 | distribution to bootstrap your own distribution. | ||
1011 | <note> | ||
1012 | Poky does not contain binary files. | ||
1013 | It is a working example of how to build your own custom Linux distribution | ||
1014 | from source. | ||
1015 | </note> | ||
1016 | </para> | ||
1017 | |||
1018 | <para> | ||
1019 | Poky has a regular, well established, six-month release cycle | ||
1020 | under its own version. | ||
1021 | Major releases occur at the same time major releases (point | ||
1022 | releases) occur for the Yocto Project, which are typically in the | ||
1023 | Spring and Fall. | ||
1024 | For more information on the Yocto Project release schedule and | ||
1025 | cadence, see the | ||
1026 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-release-process'>Yocto Project Releases and the Stable Release Process</ulink>" | ||
1027 | chapter in the Yocto Project Reference Manual. | ||
1028 | </para> | ||
1029 | |||
1030 | <para> | ||
1031 | Much has been said about Poky being a "default configuration." | ||
1032 | A default configuration provides a starting image footprint. | ||
1033 | You can use Poky out of the box to create an image ranging from a | ||
1034 | shell-accessible minimal image all the way up to a Linux | ||
1035 | Standard Base-compliant image that uses a GNOME Mobile and | ||
1036 | Embedded (GMAE) based reference user interface called Sato. | ||
1037 | </para> | ||
1038 | |||
1039 | <para> | ||
1040 | One of the most powerful properties of Poky is that every aspect | ||
1041 | of a build is controlled by the metadata. | ||
1042 | You can use metadata to augment these base image types by | ||
1043 | adding metadata layers that extend functionality. | ||
1044 | These layers can provide, for example, an additional software | ||
1045 | stack for an image type, add a board support package (BSP) for | ||
1046 | additional hardware, or even create a new image type. | ||
1047 | </para> | ||
1048 | |||
1049 | <para> | ||
1050 | Metadata is loosely grouped into configuration files or package | ||
1051 | recipes. | ||
1052 | A recipe is a collection of non-executable metadata used by | ||
1053 | BitBake to set variables or define additional build-time tasks. | ||
1054 | A recipe contains fields such as the recipe description, the recipe | ||
1055 | version, the license of the package and the upstream source | ||
1056 | repository. | ||
1057 | A recipe might also indicate that the build process uses autotools, | ||
1058 | make, distutils or any other build process, in which case the basic | ||
1059 | functionality can be defined by the classes it inherits from | ||
1060 | the OE-Core layer's class definitions in | ||
1061 | <filename>./meta/classes</filename>. | ||
1062 | Within a recipe you can also define additional tasks as well as | ||
1063 | task prerequisites. | ||
1064 | Recipe syntax through BitBake also supports both | ||
1065 | <filename>_prepend</filename> and <filename>_append</filename> | ||
1066 | operators as a method of extending task functionality. | ||
1067 | These operators inject code into the beginning or end of a task. | ||
1068 | For information on these BitBake operators, see the | ||
1069 | "<ulink url='&YOCTO_DOCS_BB_URL;#appending-and-prepending-override-style-syntax'>Appending and Prepending (Override Style Syntax)</ulink>" | ||
1070 | section in the BitBake User's Manual. | ||
1071 | </para> | ||
936 | </section> | 1072 | </section> |
937 | 1073 | ||
938 | <section id='the-yocto-project-workflow'> | 1074 | <section id='the-yocto-project-workflow'> |