documentation/poky-ref-manual/introduction.xml: re-write for YP

I re-wrote and reorganzied this chapter to reflect the book as
a Yocto Project Reference Guide.

(From yocto-docs rev: ef3c3955ab0cedb57d9ae48041ed94806fe34001)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark
2011-08-18 09:38:15 -07:00
committed by Richard Purdie
parent 7f9b16defb
commit e384051ded

View File

@@ -5,166 +5,134 @@
<title>Introduction</title> <title>Introduction</title>
<section id='intro-welcome'> <section id='intro-welcome'>
<title>Welcome to Poky!</title> <title>Introduction</title>
<para> <para>
Poky is the build tool in the Yocto Project. This manual provides reference information for the current release of the Yocto Project.
The Yocto Project uses Poky to build images (kernel, system, and application software) for The Yocto Project is an open-source collaboration project focused on embedded Linux
targeted hardware. developers.
</para> Amongst other things, the Yocto Project uses the Poky build tool to
construct complete Linux images.
<para> You can find complete introductory and getting started information on the Yocto Project
Before diving into Poky, it helps to have an understanding of the Yocto Project. by reading the
Especially useful for newcomers is the information in the Yocto Project Quick Start, which <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
you can find on the <ulink url="http://www.yoctoproject.org">Yocto Project website</ulink>. Yocto Project Quick Start</ulink>.
Specifically, the guide is You can also find lots of information on the Yocto Project on the
at <ulink url="http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html"/>. <ulink url="http://www.yoctoproject.org">Yocto Project website</ulink>.
</para>
</section>
<section id='what-is-poky'>
<title>What is Poky?</title>
<para>
Within the Yocto Project, Poky provides an open source, full-platform build tool based on
Linux, X11, Matchbox, GTK+, Pimlico, Clutter,
and other <ulink url='http://gnome.org/mobile'>GNOME Mobile</ulink> technologies.
It provides a focused and stable subset of OpenEmbedded upon which you can easily and
reliably build and develop.
Poky fully supports a wide range of x86, ARM, MIPS and PowerPC hardware and device virtualization.
</para>
<para>
Poky is primarily a platform builder that generates filesystem images
based on open source software such as the Kdrive X server, the Matchbox
window manager, the GTK+ toolkit and the D-Bus message bus system. While images
for many kinds of devices can be generated, the standard example
machines target QEMU full-system emulation (x86, ARM, MIPS and PowerPC) and
real reference boards for each of these architectures.
Poky's ability to boot inside a QEMU
emulator makes it particularly suitable as a test platform for developing embedded software.
</para>
<para>
An important component integrated within Poky is Sato, a GNOME Mobile-based
user interface environment.
It is designed to work well with screens that use very high DPI and have restricted
sizes, such as those often found on smartphones and PDAs.
Because Sato is coded for speed and efficiency, it works smoothly on hand-held and
other embedded hardware.
It sits nicely on top of any device that uses the GNOME Mobile stack and it results in
a well-defined user experience.
</para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="figures/ss-sato.png" format="PNG" align='center' scalefit='1' width="100%" contentdepth="100%"/>
</imageobject>
<caption>
<para>The Sato Desktop - A screenshot from a machine running a Poky built image</para>
</caption>
</mediaobject>
</screenshot>
<para>
Poky has a growing open source community and is also backed up by commercial organizations
including Intel&reg; Corporation.
</para> </para>
</section> </section>
<section id='intro-manualoverview'> <section id='intro-manualoverview'>
<title>Documentation Overview</title> <title>Documentation Overview</title>
<para> <para>
The sections in this reference manual describe different aspects of Poky. This reference manual consists of the following:
The <link linkend='usingpoky'>'Using Poky'</link> section provides an overview of the components <itemizedlist>
that make up Poky followed by information about using Poky and debugging images created in <listitem><para><emphasis>
the Yocto Project. <link linkend='usingpoky'>Using the Yocto Project</link>:</emphasis> This chapter
The <link linkend='extendpoky'>'Extending Poky'</link> and provides an overview of the components that make up the Yocto Project
<link linkend='bsp'>'Board Support Packages'</link> sections provide information followed by information about debugging images created in the Yocto Project.
about how to extend and customize Poky along with advice on how to manage these changes. </para></listitem>
The <link linkend='platdev'>'Platform Development with Poky'</link> section provides information about <listitem><para><emphasis>
interaction between Poky and target hardware for common platform development tasks such as software <link linkend='extendpoky'>Extending the Yocto Project</link>:</emphasis> This chapter
development, debugging and profiling. provides information about how to extend and customize the Yocto Project
The rest of the manual consists of several reference sections, each providing details on a specific along with advice on how to manage these changes.</para></listitem>
area of Poky functionality. <listitem><para><emphasis>
</para> <link linkend='bsp'>Board Support Packages (BSP) - Developer's Guide</link>:</emphasis>
This chapter describes the example filesystem layout for BSP development and
<para> the click-through licensing scheme.</para></listitem>
This manual applies to Poky Release 5.0 (Bernard). <listitem><para><emphasis>
<link linkend='platdev'>Platform Development With the Yocto Project</link>:</emphasis>
This chapter describes application development, debugging, and profiling using
the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-structure'>Reference: Directory Structure</link>:</emphasis>
This appendix describes the directory structure of the Yocto Project files.
The Yocto Project files represent the file structure or Git repository created
as a result of setting up the Yocto Project on your host development system.
</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-bitbake'>Reference: BitBake</link>:</emphasis>
This appendix provides an overview of the BitBake tool and its role within
the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-classes'>Reference: Classes</link>:</emphasis>
This appendix describes the classes used in the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-images'>Reference: Images</link>:</emphasis>
This appendix describes the standard images that the Yocto Project supports.
</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-features'>Reference: Features</link>:</emphasis>
This appendix describes mechanisms for creating distribution, machine, and image
features during the build process using the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-variables-glos'>Reference: Variables Glossary</link>:</emphasis>
This appendix presents most Yocto Project variables.
Entries describe the function of the variable and how to apply them.
</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-varlocality'>Reference: Variable Locality
(Distro, Machine, Recipe, etc.)</link>:</emphasis>
This appendix provides variable locality or context.</para></listitem>
<listitem><para><emphasis>
<link linkend='faq'>Reference: FAQ</link>:</emphasis>
This appendix provides answers for commonly asked questions in the Yocto Project
development environment.</para></listitem>
<listitem><para><emphasis>
<link linkend='resources'>Reference: Contributing to the Yocto Project</link>:</emphasis>
This appendix provides guidance on how you can contribute back to the Yocto
Project.</para></listitem>
</itemizedlist>
</para> </para>
</section> </section>
<section id='intro-requirements'> <section id='intro-requirements'>
<title>System Requirements</title> <title>System Requirements</title>
<para> <para>
Although we recommend Debian-based distributions For system Yocto Project system requirements, see the
(Ubuntu 10.04 or newer) as the host system for Poky, nothing in Poky is <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#resources'>
distribution-specific. Consequently, other distributions should work as long What You Need and How You Get It</ulink> section in the
as the appropriate prerequisites are installed. For example, we know of Poky being used <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
successfully on Redhat, SUSE, Gentoo and Slackware host systems. Yocto Project Quick Start</ulink>.
For information on what you need to develop images using Yocto Project and Poky,
you should see the Yocto Project Quick Start on the <ulink url="http://www.yoctoproject.org">
Yocto Project website</ulink>.
The direct link to the quick start is
<ulink url='http://yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'/>.
</para> </para>
</section> </section>
<section id='intro-getit'> <section id='intro-getit'>
<title>Obtaining Poky</title> <title>Obtaining the Yocto Project</title>
<para>
<section id='intro-getit-releases'> The Yocto Project development team makes the Yocto Project available through a number
<title>Releases</title> of methods:
<itemizedlist>
<para>Periodically, we make releases of Poky available <listitem><para><emphasis>Releases:</emphasis> Stable, tested releases are available through
at <ulink url='http://yoctoproject.org/downloads/poky/'/>. <ulink url='http://yoctoproject.org/downloads/poky/'/>.</para></listitem>
These releases are more stable and more rigorously tested than the nightly development images. <listitem><para><emphasis>Nightly Builds:</emphasis> These releases are available at
</para> <ulink url='http://autobuilder.yoctoproject.org/'/>.
</section> These builds include Yocto Project releases, meta-toolchain tarballs, and
experimental builds.</para></listitem>
<section id='intro-getit-nightly'> <listitem><para><emphasis>Yocto Project Website:</emphasis> You can find releases
<title>Nightly Builds</title> of the Yocto Project and supported BSPs at the
<ulink url='http://www.yoctoproject.org'>Yocto Project website</ulink>.
<para> Along with these downloads, you can find lots of other information at this site.
We make nightly builds of Poky for testing purposes and to make the </para></listitem>
latest developments available. The output from these builds is available </itemizedlist>
at <ulink url='http://autobuilder.yoctoproject.org/'/>. </para>
The numbers used in the builds increase for each subsequent build and can be used to
reference a specific build.
</para>
<para>
Automated builds are available for "standard" Poky and for Poky SDKs and toolchains.
Additionally, testing versions such as poky-bleeding can be made available as
'experimental' builds.
The toolchains can
be used either as external standalone toolchains or can be combined with Poky as a
pre-built toolchain to reduce build time. Using the external toolchains is simply a
case of untarring the tarball into the root of your system (it only creates files in
<filename>/opt/poky</filename>) and then enabling the option
in <filename>local.conf</filename>.
</para>
</section>
<section id='intro-getit-dev'>
<title>Development Checkouts</title>
<para>
Poky is available from our git repository located at
git://git.yoctoproject.org/poky.git; a web interface to the repository
can be accessed at <ulink url='http://git.yoctoproject.org/'/>.
</para>
<para>
The 'master' is where the development work takes place and you should use this if you're
interested in working with the latest cutting-edge developments. It is possible for the trunk
to suffer temporary periods of instability while new features are developed.
If these periods of instability are undesirable, we recommend using one of the release branches.
</para>
</section>
</section> </section>
<section id='intro-getit-dev'>
<title>Development Checkouts</title>
<para>
Development using the Yocto Project requires a local copy of the Yocto Project files.
You can get these files by downloading a Yocto Project release tarball and unpacking it,
or by establishing a Git repository of the files.
For information on both these methods, see
<ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html#getting-setup'>
Getting Setup</ulink> section in
<ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html'>
The Yocto Project Development Manual</ulink>.
</para>
</section>
</chapter> </chapter>
<!-- <!--
vim: expandtab tw=80 ts=4 vim: expandtab tw=80 ts=4