<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<chapter id='intro'>
<title>Introduction</title>

<section id='intro-welcome'>
    <title>Welcome to Poky!</title>

    <para>
        Poky is the build tool in the Yocto Project.
        The Yocto Project uses Poky to build images (kernel, system, and application software) for 
        targeted hardware.
    </para>

    <para>
        Before diving into Poky, it helps to have an understanding of the Yocto Project.
        Especially useful for newcomers is the information in the Yocto Project Quick Start, which 
        you can find on the <ulink url="http://www.yoctoproject.org">Yocto Project website</ulink>.
        Specifically, the guide is
        at <ulink url="http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html"/>.
    </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>
</section>

<section id='intro-manualoverview'>
    <title>Documentation Overview</title>
    <para>
        The sections in this reference manual describe different aspects of Poky. 
        The <link linkend='usingpoky'>'Using Poky'</link> section provides an overview of the components 
        that make up Poky followed by information about using Poky and debugging images created in 
        the Yocto Project. 
        The <link linkend='extendpoky'>'Extending Poky'</link> and 
        <link linkend='bsp'>'Board Support Packages'</link> sections provide information 
        about how to extend and customize Poky along with advice on how to manage these changes. 
        The <link linkend='platdev'>'Platform Development with Poky'</link> section provides information about
        interaction between Poky and target hardware for common platform development tasks such as software
        development, debugging and profiling. 
        The rest of the manual consists of several reference sections, each providing details on a specific
        area of Poky functionality.
    </para>

    <para>
        This manual applies to Poky Release 5.0 (Bernard).
    </para>
</section>


<section id='intro-requirements'>
    <title>System Requirements</title>
    <para>
        Although we recommend Debian-based distributions 
        (Ubuntu 10.04 or newer) as the host system for Poky, nothing in Poky is
        distribution-specific.  Consequently, other distributions should work as long 
        as the appropriate prerequisites are installed.  For example, we know of Poky being used 
        successfully on Redhat, SUSE, Gentoo and Slackware host systems.
        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>
</section>

<section id='intro-getit'>
    <title>Obtaining Poky</title>

    <section id='intro-getit-releases'>
        <title>Releases</title>

        <para>Periodically, we make releases of Poky available
            at <ulink url='http://yoctoproject.org/downloads/poky/'/>.
            These releases are more stable and more rigorously tested than the nightly development images.
        </para>
    </section>

    <section id='intro-getit-nightly'>
        <title>Nightly Builds</title>

        <para>
            We make nightly builds of Poky for testing purposes and to make the
            latest developments available. The output from these builds is available
            at <ulink url='http://autobuilder.yoctoproject.org/'/>.
            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>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->
