summaryrefslogtreecommitdiffstats
path: root/documentation/getting-started/getting-started-yp-intro.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/getting-started/getting-started-yp-intro.xml')
-rw-r--r--documentation/getting-started/getting-started-yp-intro.xml136
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'>