summaryrefslogtreecommitdiffstats
path: root/documentation/overview-manual/overview-development-environment.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/overview-manual/overview-development-environment.xml')
-rw-r--r--documentation/overview-manual/overview-development-environment.xml117
1 files changed, 117 insertions, 0 deletions
diff --git a/documentation/overview-manual/overview-development-environment.xml b/documentation/overview-manual/overview-development-environment.xml
index 32fe1816ab..d34f35ec88 100644
--- a/documentation/overview-manual/overview-development-environment.xml
+++ b/documentation/overview-manual/overview-development-environment.xml
@@ -21,6 +21,123 @@
21 syntax. 21 syntax.
22</para> 22</para>
23 23
24<section id='yp-intro'>
25 <title>Introduction</title>
26
27 <para>
28 The Yocto Project is an open-source collaboration project whose
29 focus is for developers of embedded Linux systems.
30 Among other things, the Yocto Project uses an
31 <ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>.
32 The build system, which is based on the OpenEmbedded (OE) project and
33 uses the
34 <ulink url='&YOCTO_DOCS_REF_URL;#bitbake-term'>BitBake</ulink> tool,
35 constructs complete Linux images for architectures based on ARM, MIPS,
36 PowerPC, x86 and x86-64.
37 <note>
38 Historically, the OpenEmbedded build system, which is the
39 combination of BitBake and OE components, formed a reference
40 build host that was known as
41 "<ulink url='&YOCTO_DOCS_REF_URL;#poky'>Poky</ulink>"
42 (<emphasis>Pah</emphasis>-kee).
43 The term "Poky", as used throughout the Yocto Project Documentation
44 set, can have different meanings.
45 </note>
46 The Yocto Project provides various ancillary tools for the embedded
47 developer and also features the Sato reference User Interface, which
48 is optimized for stylus-driven, low-resolution screens.
49 </para>
50
51 <mediaobject>
52 <imageobject>
53 <imagedata fileref="figures/YP-flow-diagram.png"
54 format="PNG" align='center' width="8in"/>
55 </imageobject>
56 </mediaobject>
57
58 <para>
59 Here are some highlights for the Yocto Project:
60 </para>
61
62 <itemizedlist>
63 <listitem><para>
64 Provides a recent Linux kernel along with a set of system
65 commands and libraries suitable for the embedded
66 environment.
67 </para></listitem>
68 <listitem><para>
69 Makes available system components such as X11, GTK+, Qt,
70 Clutter, and SDL (among others) so you can create a rich user
71 experience on devices that have display hardware.
72 For devices that do not have a display or where you wish to
73 use alternative UI frameworks, these components need not be
74 installed.
75 </para></listitem>
76 <listitem><para>
77 Creates a focused and stable core compatible with the
78 OpenEmbedded project with which you can easily and reliably
79 build and develop.
80 </para></listitem>
81 <listitem><para>
82 Fully supports a wide range of hardware and device emulation
83 through the Quick EMUlator (QEMU).
84 </para></listitem>
85 <listitem><para>
86 Provides a layer mechanism that allows you to easily extend
87 the system, make customizations, and keep them organized.
88 </para></listitem>
89 </itemizedlist>
90
91 <para>
92 You can use the Yocto Project to generate images for many kinds
93 of devices.
94 As mentioned earlier, the Yocto Project supports creation of
95 reference images that you can boot within and emulate using QEMU.
96 The standard example machines target QEMU full-system
97 emulation for 32-bit and 64-bit variants of x86, ARM, MIPS, and
98 PowerPC architectures.
99 Beyond emulation, you can use the layer mechanism to extend
100 support to just about any platform that Linux can run on and that
101 a toolchain can target.
102 </para>
103
104 <para>
105 Another Yocto Project feature is the Sato reference User
106 Interface.
107 This optional UI that is based on GTK+ is intended for devices with
108 restricted screen sizes and is included as part of the
109 OpenEmbedded Core layer so that developers can test parts of the
110 software stack.
111 </para>
112
113 <para>
114 While the Yocto Project does not provide a strict testing framework,
115 it does provide or generate for you artifacts that let you perform
116 target-level and emulated testing and debugging.
117 Additionally, if you are an
118 <trademark class='trade'>Eclipse</trademark> IDE user, you can
119 install an Eclipse Yocto Plug-in to allow you to develop within that
120 familiar environment.
121 </para>
122
123 <para>
124 By default, using the Yocto Project to build an image creates a Poky
125 distribution.
126 However, you can create your own distribution by providing key
127 <ulink url='&YOCTO_DOCS_REF_URL;#metadata'>Metadata</ulink>.
128 A good example is Angstrom, which has had a distribution
129 based on the Yocto Project since its inception.
130 Other examples include commercial distributions like
131 <ulink url='https://www.yoctoproject.org/organization/wind-river-systems'>Wind River Linux</ulink>,
132 <ulink url='https://www.yoctoproject.org/organization/mentor-graphics'>Mentor Embedded Linux</ulink>,
133 <ulink url='https://www.yoctoproject.org/organization/enea-ab'>ENEA Linux</ulink>
134 and <ulink url='https://www.yoctoproject.org/ecosystem/member-organizations'>others</ulink>.
135 See the "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-your-own-distribution'>Creating Your Own Distribution</ulink>"
136 section in the Yocto Project Development Tasks Manual for more
137 information.
138 </para>
139</section>
140
24<section id='open-source-philosophy'> 141<section id='open-source-philosophy'>
25 <title>Open Source Philosophy</title> 142 <title>Open Source Philosophy</title>
26 143