<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >

<chapter id='dev-manual-intro'>

<title>The Yocto Project Development Manual</title>
    <section id='intro'>
        <title>Introduction</title>

        <para>
            Welcome to the Yocto Project Development Manual!
            This manual gives you an idea of how to use the Yocto Project to develop embedded Linux 
            images and user-space applications to run on targeted devices. 
            Reading this manual gives you an overview of image, kernel, and user-space application development
            using the Yocto Project. 
            Because much of the information in this manual is general, it contains many references to other
            sources where you can find more detail.
            For example, detailed information on Git, repositories and open source in general
            can be found in many places.  
            Another example is how to get set up to use the Yocto Project, which our Yocto Project Quick Start covers.
        </para>

        <para>  
            The Yocto Project Development Manual, however, does provide detailed examples on how to create a 
            Board Support Package (BSP), change the kernel source code, and re-configure the kernel.
            You can find this information in the appendices of the manual.
        </para>
    </section>

    <section id='what-this-manual-provides'>
        <title>What this Manual Provides</title>

        <para>
            The following list describes what you can get from this guide:
            <itemizedlist>
                <listitem><para>Information that lets you get set 
                    up to develop using the Yocto Project.</para></listitem>
                <listitem><para>Information to help developers who are new to the open source environment 
                    and to the distributed revision control system Git, which the Yocto Project 
                    uses.</para></listitem>
                <listitem><para>An understanding of common end-to-end development models and tasks.</para></listitem>
                <listitem><para>Development case overviews for both system development and user-space 
                    applications.</para></listitem>
                <listitem><para>An overview and understanding of the emulation environment used with 
                    the Yocto Project (QEMU).</para></listitem>
<!--                <listitem><para>A discussion of target-level analysis techniques, tools, tips, 
                    and tricks.</para></listitem>
                <listitem><para>Considerations for deploying your final product.</para></listitem> -->
                <listitem><para>An understanding of basic kernel architecture and 
                    concepts.</para></listitem>
<!--                <listitem><para>Information that will help you migrate an existing project to the 
                    Yocto Project development environment.</para></listitem> -->
                <listitem><para>Many references to other sources of related information.</para></listitem>
            </itemizedlist>
        </para>
    </section>

    <section id='what-this-manual-does-not-provide'>
        <title>What this Manual Does Not Provide</title>

        <para>
            This manual will not give you the following:
            <itemizedlist>
                <listitem><para>Step-by-step instructions if those instructions exist in other Yocto 
                    Project documentation.  
                    For example, the Application Development Toolkit (ADT) User’s Guide contains detailed 
                    instruction on how to obtain and configure the 
                    <trademark class='trade'>Eclipse</trademark> Yocto Plug-in.</para></listitem>
                <listitem><para>Reference material.  
                    This type of material resides in an appropriate reference manual.  
                    For example, system variables are documented in the 
                    <ulink url='&YOCTO_DOCS_REF_URL;'>
                    Yocto Project Reference Manual</ulink>.</para></listitem>
                <listitem><para>Detailed public information that is not specific to the Yocto Project.  
                    For example, exhaustive information on how to use Git is covered better through the 
                    Internet than in this manual.</para></listitem>
            </itemizedlist>
        </para>
    </section>

    <section id='other-information'>
        <title>Other Information</title>
 
        <para>
            Because this manual presents overview information for many different topics, you will
            need to supplement it with other information.
            The following list presents other sources of information you might find helpful:
            <itemizedlist>
                <listitem><para><emphasis>The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>:
                    </emphasis> The home page for the Yocto Project provides lots of information on the project 
                    as well as links to software and documentation.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_DOCS_QS_URL;'>
                    The Yocto Project Quick Start</ulink>:</emphasis> This short document lets you get started 
                    with the Yocto Project quickly and start building an image.</para></listitem>
                <listitem><para><emphasis> 
                    <ulink url='&YOCTO_DOCS_REF_URL;'>
                    The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference 
                    guide to the Yocto Project build component known as "Poky."  
                    The manual also contains a reference chapter on Board Support Package (BSP) 
                    layout.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_DOCS_ADT_URL;'>
                    The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>:</emphasis>
                    This guide provides information that lets you get going with the ADT to 
                    develop projects using the Yocto Project.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_DOCS_BSP_URL;'>
                    The Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
                    This guide defines the structure for BSP components.  
                    Having a commonly understood structure encourages standardization.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
                    The Yocto Project Kernel Architecture and Use Manual</ulink>:</emphasis>
                    This manual describes the architecture of the Yocto Project kernel and provides 
                    some work flow examples.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
                    Yocto Eclipse Plug-in</ulink>:</emphasis> A step-by-step instructional video that
                    demonstrates how an application developer uses Yocto Plug-in features within 
                    the Eclipse IDE.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>FAQ</ulink>:</emphasis>
                    A list of commonly asked questions and their answers.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_HOME_URL;/download/yocto/yocto-project-1.1-release-notes-poky-&POKYVERSION;'>
                    Release Notes</ulink>:</emphasis> Features, updates and known issues for the current 
                    release of the Yocto Project.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>:</emphasis>
                    The bug tracking application the Yocto Project uses.
                    If you find problems with the Yocto Project, you should report them using this
                    application.</para></listitem>
                <listitem><para><emphasis>
                    Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing 
                    lists, click on the following URLs and follow the instructions:
                    <itemizedlist>
                        <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink> for a 
                            Yocto Project Discussions mailing list.</para></listitem>
                        <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink> for a 
                            Yocto Project Discussions mailing list about the Poky build system.</para></listitem>
                        <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto-announce'></ulink>
                            for a mailing list to receive offical Yocto Project announcements for developments and 
                            as well as Yocto Project milestones.</para></listitem>
                    </itemizedlist></para></listitem>
                <listitem><para><emphasis>Internet Relay Chat (IRC):</emphasis>
                    Two IRC channels on freenode are available 
                    for Yocto Project and Poky discussions: <filename>#yocto</filename> and 
                    <filename>#poky</filename>.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis>
                    The company where the Yocto Project build system Poky was first developed.
                    OpenedHand has since been acquired by Intel Corporation.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis>
                    The company that acquired OpenedHand in 2008 and continues development on the 
                    Yocto Project.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis>
                    The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
                    from and to which it contributes.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='http://developer.berlios.de/projects/bitbake/'>
                    BitBake</ulink>:</emphasis> The tool used to process Yocto Project metadata.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='http://bitbake.berlios.de/manual/'>
                    BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
                    </para></listitem>
                <listitem><para><emphasis>
                    <ulink url='http://pimlico-project.org/'>Pimlico</ulink>:</emphasis>
                    A suite of lightweight Personal Information Management (PIM) applications designed 
                    primarily for handheld and mobile devices.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
                    </emphasis> An open-source machine emulator and virtualizer.</para></listitem>
            </itemizedlist>
        </para>
    </section>   
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->
