summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-intro.xml
blob: fabc2dedbe19ec699d5f598af865bd254dd82415 (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">

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

<title>The Yocto Project Development Manual</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 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
-->