| <!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='dev-intro'> |
| <title>Introduction</title> |
| |
| <para> |
| Welcome to the Yocto Project Development Manual! |
| This manual provides information on how to use the Yocto Project to |
| develop embedded Linux images and user-space applications that |
| run on targeted devices. |
| The manual provides 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, you can find detailed information on Git, repositories, |
| and open source in general in many places on the Internet. |
| Another example specific to the Yocto Project is how to quickly |
| set up your host development system and build an image, which you |
| find in the |
| <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>. |
| </para> |
| |
| <para> |
| The Yocto Project Development Manual does, however, provide |
| guidance and examples on how to change the kernel source code, |
| reconfigure the kernel, and develop an application using |
| <filename>devtool</filename>. |
| </para> |
| |
| <note> |
| By default, using the Yocto Project creates a Poky distribution. |
| However, you can create your own distribution by providing key |
| <link linkend='metadata'>Metadata</link>. |
| A good example is Angstrom, which has had a distribution |
| based on the Yocto Project since its inception. |
| Other examples include commercial distributions like |
| <ulink url='https://www.yoctoproject.org/organization/wind-river-systems'>Wind River Linux</ulink>, |
| <ulink url='https://www.yoctoproject.org/organization/mentor-graphics'>Mentor Embedded Linux</ulink>, |
| <ulink url='https://www.yoctoproject.org/organization/enea-ab'>ENEA Linux</ulink> |
| and <ulink url='https://www.yoctoproject.org/ecosystem/member-organizations'>others</ulink>. |
| See the "<link linkend='creating-your-own-distribution'>Creating Your Own Distribution</link>" |
| section for more information. |
| </note> |
| </section> |
| |
| <section id='what-this-manual-provides'> |
| <title>What This Manual Provides</title> |
| |
| <para> |
| The following list describes what you can get from this manual: |
| <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>Information about common development tasks |
| generally used during image development for |
| embedded devices. |
| </para></listitem> |
| <listitem><para>Information on using the Yocto Project |
| integration of the QuickEMUlator (QEMU), which lets you |
| simulate running on hardware an image you have built using |
| the OpenEmbedded build system. |
| </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><emphasis>Step-by-step instructions when those instructions exist in other Yocto |
| Project documentation:</emphasis> |
| For example, the |
| <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink> |
| manual contains detailed instructions on how to install an |
| SDK, which is used to develop applications for target |
| hardware. |
| </para></listitem> |
| <listitem><para><emphasis>Reference material:</emphasis> |
| 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><emphasis>Detailed public information that is not specific to the Yocto Project:</emphasis> |
| 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, supplemental information is recommended for full |
| comprehension. |
| The following list presents other sources of information you might find helpful: |
| <itemizedlist> |
| <listitem><para><emphasis><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;'>Yocto Project Quick Start</ulink>:</emphasis> |
| This short document lets you get started |
| with the Yocto Project and quickly begin building an image. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&YOCTO_DOCS_REF_URL;'>Yocto Project Reference Manual</ulink>:</emphasis> |
| This manual is a reference |
| guide to the OpenEmbedded build system, which is based on BitBake. |
| The build system is sometimes referred to as "Poky". |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>:</emphasis> |
| This guide provides information that lets you get going |
| with the standard or extensible SDK. |
| An SDK, with its cross-development toolchains, allows you |
| to develop projects inside or outside of the Yocto Project |
| environment. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&YOCTO_DOCS_BSP_URL;'>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_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>:</emphasis> |
| This manual describes how to work with Linux Yocto kernels as well as provides a bit |
| of conceptual information on the construction of the Yocto Linux kernel tree. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&YOCTO_DOCS_PROF_URL;'>Yocto Project Profiling and Tracing Manual</ulink>:</emphasis> |
| This manual presents a set of common and generally useful tracing and |
| profiling schemes along with their applications (as appropriate) to each tool. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>:</emphasis> |
| This manual introduces and describes how to set up and use |
| Toaster, which is a web interface to the Yocto Project's |
| <link linkend='build-system-term'>OpenEmbedded Build System</link>. |
| </para></listitem> |
| <!-- |
| <listitem><para><emphasis> |
| <ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'> |
| Eclipse IDE Yocto 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_DOCS_SDK_URL;#sdk-appendix-latest-yp-eclipse-plug-in'>Eclipse IDE Yocto Plug-in</ulink>:</emphasis> |
| Instructions that demonstrate how an application developer |
| uses the Eclipse Yocto Project Plug-in feature 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_RELEASE_NOTES;'>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_HOME_URL;/tools-resources/projects/toaster'>Toaster</ulink>:</emphasis> |
| An Application Programming Interface (API) and web-based |
| interface to the OpenEmbedded build system, which uses |
| BitBake, that reports build information. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/build-appliance'>Build Appliance</ulink>:</emphasis> |
| A virtual machine that |
| enables you to build and boot a custom embedded Linux image |
| with the Yocto Project using a non-Linux development system. |
| </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 |
| OpenEmbedded build system (Poky). |
| </para></listitem> |
| <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto-announce'></ulink> |
| for a mailing list to receive official Yocto Project announcements |
| as well as Yocto Project milestones. |
| </para></listitem> |
| <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo'></ulink> |
| for a listing of all public mailing lists on |
| <filename>lists.yoctoproject.org</filename>. |
| </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>, respectively. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis> |
| The build system used by the Yocto Project. |
| This project is the upstream, generic, embedded distribution |
| from which the Yocto Project derives its build system (Poky) |
| and to which it contributes. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='http://www.openembedded.org/wiki/BitBake'>BitBake</ulink>:</emphasis> |
| The tool used by the OpenEmbedded build system |
| to process project metadata. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual:</ulink></emphasis> |
| A comprehensive guide to the BitBake tool. |
| If you want information on BitBake, see this manual. |
| </para></listitem> |
| <listitem><para><emphasis> |
| <ulink url='http://wiki.qemu.org/Index.html'>Quick EMUlator (QEMU)</ulink>:</emphasis> |
| An open-source machine emulator and virtualizer. |
| </para></listitem> |
| </itemizedlist> |
| </para> |
| </section> |
| </chapter> |
| <!-- |
| vim: expandtab tw=80 ts=4 |
| --> |