summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-intro.xml
blob: faa1f5ac92c4c778a4910891cd908a3a43e5162d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!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 reconfigure 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>An understanding of basic kernel architecture and concepts.</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 Yocto Project Application Developer's Guide contains detailed 
                    instruction on how to run the 
                    <ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>,
                    which is used to set up a cross-development environment.</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;'>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;'>Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference 
                    guide to the OpenEmbedded build system 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;'>Yocto Project Application Developer's Guide</ulink>:</emphasis>
                    This guide provides information that lets you get going with the Application 
                    Development Toolkit (ADT) and stand-alone cross-development toolchains to 
                    develop projects using the Yocto Project.</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_URL;'>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'>
                    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_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-&DISTRO;-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_HOME_URL;/projects/hob'>
                    Hob</ulink>:</emphasis> A graphical user interface for BitBake. 
                    Hob's primary goal is to enable a user to perform common tasks more easily.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&YOCTO_HOME_URL;/documentation/build-appliance'>
                    Build Appliance</ulink>:</emphasis> A bootable custom embedded Linux image you can 
                    either build using a non-Linux development system (VMware applications) or download 
                    from the Yocto Project website.
                    See the <ulink url='&YOCTO_HOME_URL;/documentation/build-appliance'>Build Appliance</ulink>
                    page for more information.</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 official 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>, respectively.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis>
                    The company that initially developed the Poky project, which is the basis
                    for the OpenEmbedded build system used by the Yocto Project.
                    OpenedHand was acquired by Intel Corporation in 2008.</para></listitem>
                <listitem><para><emphasis>
                    <ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis>
                    A multinational semiconductor chip manufacturer company whose Software and 
                    Services Group created and supports the Yocto Project.
                    Intel acquired OpenedHand in 2008.</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) 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 by the OpenEmbedded build system 
                    to process project metadata.</para></listitem>
                <listitem><para><emphasis>
                    BitBake User Manual:</emphasis>
                    A comprehensive guide to the BitBake tool.
                    If you want information on BitBake, see the user manual inculded in the 
                    <filename>bitbake/doc/manual</filename> directory of the 
                    <link linkend='source-directory'>Source Directory</link>.</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
-->