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

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

<title>The Yocto Project Development Manual</title>

<para>
    WRITER NOTE: The goal of this manual is to provide an over-arching development guide for using the Yocto Project.  
    The intent is to give the reader the “big picture” around development.  
    Much of the information in the manual will be detailed in other manuals.  
    For example, detailed information on Git, repositories and open-source in general can be found in many places.  
    Another example is getting set up to use the Yocto Project, which our Yocto Project Quick Start covers.  
    However, this manual needs to at least address it.  
    One might ask “What becomes of the Poky Reference Manual?”  
    This manual, over time, needs to develop into a pure reference manual where all procedural information 
    eventually ends up in an appropriate guide.   
    A good example of information perfect for the Poky Reference Manual is the appendix on variable 
    definitions (glossary).
</para>

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

    <para>
        Welcome to the Yocto Project Development Guide!  
        This guide provides a general view of the development process using the Yocto Project.  
        This guide is just that – a guide.  
        It helps you understand the bigger picture involving development using the Yocto Project.  
    </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 that 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.</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 Eclipse 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 Poky Reference Manual.</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='http://www.yoctoproject.org'>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='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
                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='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
                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='http://www.yoctoproject.org/docs/1.1/adt-manual/adt-manual.html'>
                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='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'>
                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='http://www.yoctoproject.org/docs/1.1/kernel-manual/kernel-manual.html'>
                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='http://wiki.yoctoproject.org/wiki/FAQ'>FAQ</ulink>:</emphasis>
                A list of commonly asked questions and their answers.</para></listitem>
            <listitem><para><emphasis>
                <ulink url='http://www.yoctoproject.org/download/yocto/yocto-project-1.0-release-notes-poky-5.0'>
                Release Notes</ulink>:</emphasis> Features, updates and known issues for the current 
                release of the Yocto Project.</para></listitem>
            <listitem><para><emphasis>
                <ulink url='http://bugzilla.yoctoproject.org/'>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='http://lists.yoctoproject.org/listinfo/yocto'></ulink> for a 
                        Yocto Discussions mailing list.</para></listitem>
                    <listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> for a 
                        Yocto Project Discussions mailing list.</para></listitem>
                    <listitem><para><ulink url='http://lists.yoctoproject.org/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='http://www.openedhand.com/'>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 who acquired OpenedHand in 2008 and continues development on the 
                Yocto Project.</para></listitem>
            <listitem><para><emphasis>
                <ulink url='http://www.openembedded.org/'>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
-->
