blob: 0b165443f9210573b9d504ab3f5dee6f76872684 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
3[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
4
5<chapter id='ref-manual-intro'>
6<title>Introduction</title>
7
8<section id='intro-welcome'>
9 <title>Introduction</title>
10
11 <para>
12 This manual provides reference information for the current release of the Yocto Project.
13 The Yocto Project is an open-source collaboration project focused on embedded Linux
14 developers.
15 Amongst other things, the Yocto Project uses the OpenEmbedded build system, which
16 is based on the Poky project, to construct complete Linux images.
17 You can find complete introductory and getting started information on the Yocto Project
18 by reading the
19 <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
20 For task-based information using the Yocto Project, see the
21 <ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Manual</ulink>
22 and the <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>.
23 For Board Support Package (BSP) structure information, see the
24 <ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>.
25 You can find information on tracing and profiling in the
26 <ulink url='&YOCTO_DOCS_PROF_URL;'>Yocto Project Profiling and Tracing Manual</ulink>.
27 For information on BitBake, which is the task execution tool the
28 OpenEmbedded build system is based on, see the
29 <ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual'>BitBake User Manual</ulink>.
30 Finally, you can also find lots of Yocto Project information on the
31 <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>.
32 </para>
33</section>
34
35<section id='intro-manualoverview'>
36 <title>Documentation Overview</title>
37 <para>
38 This reference manual consists of the following:
39 <itemizedlist>
40 <listitem><para><emphasis>
41 <link linkend='usingpoky'>Using the Yocto Project</link>:</emphasis>
42 Provides an overview of the components that make up the Yocto Project
43 followed by information about debugging images created in the Yocto Project.
44 </para></listitem>
45 <listitem><para><emphasis>
46 <link linkend='closer-look'>A Closer Look at the Yocto Project Development Environment</link>:</emphasis>
47 Provides a more detailed look at the Yocto Project development
48 environment within the context of development.
49 </para></listitem>
50 <listitem><para><emphasis>
51 <link linkend='technical-details'>Technical Details</link>:</emphasis>
52 Describes fundamental Yocto Project components as well as an explanation
53 behind how the Yocto Project uses shared state (sstate) cache to speed build time.
54 </para></listitem>
55 <listitem><para><emphasis>
56 <link linkend='migration'>Migrating to a Newer Yocto Project Release</link>:</emphasis>
57 Describes release-specific information that helps you move from
58 one Yocto Project Release to another.
59 </para></listitem>
60 <listitem><para><emphasis>
61 <link linkend='ref-structure'>Directory Structure</link>:</emphasis>
62 Describes the
63 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> created
64 either by unpacking a released Yocto Project tarball on your host development system,
65 or by cloning the upstream
66 <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink> Git repository.
67 </para></listitem>
68 <listitem><para><emphasis>
69 <link linkend='ref-classes'>Classes</link>:</emphasis>
70 Describes the classes used in the Yocto Project.</para></listitem>
71 <listitem><para><emphasis>
72 <link linkend='ref-tasks'>Tasks</link>:</emphasis>
73 Describes the tasks defined by the OpenEmbedded build system.
74 </para></listitem>
75 <listitem><para><emphasis>
76 <link linkend='ref-qa-checks'>QA Error and Warning Messages</link>:</emphasis>
77 Lists and describes QA warning and error messages.
78 </para></listitem>
79 <listitem><para><emphasis>
80 <link linkend='ref-images'>Images</link>:</emphasis>
81 Describes the standard images that the Yocto Project supports.
82 </para></listitem>
83 <listitem><para><emphasis>
84 <link linkend='ref-features'>Features</link>:</emphasis>
85 Describes mechanisms for creating distribution, machine, and image
86 features during the build process using the OpenEmbedded build system.</para></listitem>
87 <listitem><para><emphasis>
88 <link linkend='ref-variables-glos'>Variables Glossary</link>:</emphasis>
89 Presents most variables used by the OpenEmbedded build system, which
90 uses BitBake.
91 Entries describe the function of the variable and how to apply them.
92 </para></listitem>
93 <listitem><para><emphasis>
94 <link linkend='ref-varlocality'>Variable Context</link>:</emphasis>
95 Provides variable locality or context.</para></listitem>
96 <listitem><para><emphasis>
97 <link linkend='faq'>FAQ</link>:</emphasis>
98 Provides answers for commonly asked questions in the Yocto Project
99 development environment.</para></listitem>
100 <listitem><para><emphasis>
101 <link linkend='resources'>Contributing to the Yocto Project</link>:</emphasis>
102 Provides guidance on how you can contribute back to the Yocto
103 Project.</para></listitem>
104 </itemizedlist>
105 </para>
106</section>
107
108
109<section id='intro-requirements'>
110<title>System Requirements</title>
111 <para>
112 For general Yocto Project system requirements, see the
113 "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>" section
114 in the Yocto Project Quick Start.
115 The remainder of this section provides details on system requirements
116 not covered in the Yocto Project Quick Start.
117 </para>
118
119 <section id='detailed-supported-distros'>
120 <title>Supported Linux Distributions</title>
121
122 <para>
123 Currently, the Yocto Project is supported on the following
124 distributions:
125 <note>
126 <para>
127 Yocto Project releases are tested against the stable Linux
128 distributions in the following list.
129 The Yocto Project should work on other distributions but
130 validation is not performed against them.
131 </para>
132
133 <para>
134 In particular, the Yocto Project does not support
135 and currently has no plans to support
136 rolling-releases or development distributions due to their
137 constantly changing nature.
138 We welcome patches and bug reports, but keep in mind that
139 our priority is on the supported platforms listed below.
140 </para>
141
142 <para>
143 If you encounter problems, please go to
144 <ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
145 and submit a bug.
146 We are interested in hearing about your experience.
147 </para>
148 </note>
149 <itemizedlist>
150<!--
151 <listitem><para>Ubuntu 10.04</para></listitem>
152 <listitem><para>Ubuntu 11.10</para></listitem>
153 <listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
154 <listitem><para>Ubuntu 13.10</para></listitem> -->
155 <listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
156 <listitem><para>Ubuntu 14.10</para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500157 <listitem><para>Ubuntu 15.04</para></listitem>
158 <listitem><para>Ubuntu 15.10</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500159<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
160 <listitem><para>Fedora 17 (Spherical)</para></listitem>
161 <listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
162 <listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
163 <listitem><para>Fedora release 21</para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500164 <listitem><para>Fedora release 22</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500165<!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
166 <listitem><para>CentOS release 5.7 (Final)</para></listitem>
167 <listitem><para>CentOS release 5.8 (Final)</para></listitem>
168 <listitem><para>CentOS release 6.3 (Final)</para></listitem> -->
169 <listitem><para>CentOS release 6.x</para></listitem>
170 <listitem><para>CentOS release 7.x</para></listitem>
171<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem> -->
172 <listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem>
173 <listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
174<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
175 <listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
176 <listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
177 <listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
178 <listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem>
179 <listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> -->
180<!-- <listitem><para>openSUSE 11.4</para></listitem>
181 <listitem><para>openSUSE 12.1</para></listitem>
182 <listitem><para>openSUSE 12.2</para></listitem>
183 <listitem><para>openSUSE 12.3</para></listitem>
184 <listitem><para>openSUSE 13.1</para></listitem> -->
185 <listitem><para>openSUSE 13.2</para></listitem>
186 </itemizedlist>
187 </para>
188
189 <note>
190 While the Yocto Project Team attempts to ensure all Yocto Project
191 releases are one hundred percent compatible with each officially
192 supported Linux distribution, instances might exist where you
193 encounter a problem while using the Yocto Project on a specific
194 distribution.
195 For example, the CentOS 6.4 distribution does not include the
196 Gtk+ 2.20.0 and PyGtk 2.21.0 (or higher) packages, which are
197 required to run
198 <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob</ulink>.
199 </note>
200 </section>
201
202 <section id='required-packages-for-the-host-development-system'>
203 <title>Required Packages for the Host Development System</title>
204
205 <para>
206 The list of packages you need on the host development system can
207 be large when covering all build scenarios using the Yocto Project.
208 This section provides required packages according to
209 Linux distribution and function.
210 </para>
211
212 <section id='ubuntu-packages'>
213 <title>Ubuntu and Debian</title>
214
215 <para>
216 The following list shows the required packages by function
217 given a supported Ubuntu or Debian Linux distribution:
218 <note>
219 If your build system has the
220 <filename>oss4-dev</filename> package installed, you
221 might experience QEMU build failures due to the package
222 installing its own custom
223 <filename>/usr/include/linux/soundcard.h</filename> on
224 the Debian system.
225 If you run into this situation, either of the following
226 solutions exist:
227 <literallayout class='monospaced'>
228 $ sudo apt-get build-dep qemu
229 $ sudo apt-get remove oss4-dev
230 </literallayout>
231 </note>
232 <itemizedlist>
233 <listitem><para><emphasis>Essentials:</emphasis>
234 Packages needed to build an image on a headless
235 system:
236 <literallayout class='monospaced'>
237 $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
238 </literallayout></para></listitem>
239 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
240 Packages recommended if the host system has graphics
241 support or if you are going to use the Eclipse
242 IDE:
243 <literallayout class='monospaced'>
244 $ sudo apt-get install libsdl1.2-dev xterm
245 </literallayout></para></listitem>
246 <listitem><para><emphasis>Documentation:</emphasis>
247 Packages needed if you are going to build out the
248 Yocto Project documentation manuals:
249 <literallayout class='monospaced'>
250 $ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
251 </literallayout></para></listitem>
252 <listitem><para><emphasis>ADT Installer Extras:</emphasis>
253 Packages needed if you are going to be using the
254 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
255 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500256 $ sudo apt-get install autoconf automake libtool libglib2.0-dev libarchive-dev
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500257 </literallayout></para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500258 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
259 Packages needed if you are going to run
260 <filename>oe-selftest</filename>:
261 <literallayout class='monospaced'>
262 $ sudo apt-get install python-git
263 </literallayout>
264 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500265 </itemizedlist>
266 </para>
267 </section>
268
269 <section id='fedora-packages'>
270 <title>Fedora Packages</title>
271
272 <para>
273 The following list shows the required packages by function
274 given a supported Fedora Linux distribution:
275 <itemizedlist>
276 <listitem><para><emphasis>Essentials:</emphasis>
277 Packages needed to build an image for a headless
278 system:
279 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500280 $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500281 </literallayout></para></listitem>
282 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
283 Packages recommended if the host system has graphics
284 support or if you are going to use the Eclipse
285 IDE:
286 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500287 $ sudo dnf install SDL-devel xterm
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500288 </literallayout></para></listitem>
289 <listitem><para><emphasis>Documentation:</emphasis>
290 Packages needed if you are going to build out the
291 Yocto Project documentation manuals:
292 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500293 $ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500294 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
295 </literallayout></para></listitem>
296 <listitem><para><emphasis>ADT Installer Extras:</emphasis>
297 Packages needed if you are going to be using the
298 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
299 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500300 $ sudo dnf install autoconf automake libtool glib2-devel libarchive-devel
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500301 </literallayout></para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500302 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
303 Packages needed if you are going to run
304 <filename>oe-selftest</filename>:
305 <literallayout class='monospaced'>
306 $ sudo dnf install GitPython
307 </literallayout>
308 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500309 </itemizedlist>
310 </para>
311 </section>
312
313 <section id='opensuse-packages'>
314 <title>openSUSE Packages</title>
315
316 <para>
317 The following list shows the required packages by function
318 given a supported openSUSE Linux distribution:
319 <itemizedlist>
320 <listitem><para><emphasis>Essentials:</emphasis>
321 Packages needed to build an image for a headless
322 system:
323 <literallayout class='monospaced'>
324 $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
325 </literallayout></para></listitem>
326 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
327 Packages recommended if the host system has graphics
328 support or if you are going to use the Eclipse
329 IDE:
330 <literallayout class='monospaced'>
331 $ sudo zypper install libSDL-devel xterm
332 </literallayout></para></listitem>
333 <listitem><para><emphasis>Documentation:</emphasis>
334 Packages needed if you are going to build out the
335 Yocto Project documentation manuals:
336 <literallayout class='monospaced'>
337 $ sudo zypper install make fop xsltproc dblatex xmlto
338 </literallayout></para></listitem>
339 <listitem><para><emphasis>ADT Installer Extras:</emphasis>
340 Packages needed if you are going to be using the
341 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
342 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500343 $ sudo zypper install autoconf automake libtool glib2-devel libarchive-devel
344 </literallayout></para></listitem>
345 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
346 Packages needed if you are going to run
347 <filename>oe-selftest</filename>:
348 <literallayout class='monospaced'>
349 $ sudo zypper install python-GitPython
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500350 </literallayout></para></listitem>
351 </itemizedlist>
352 </para>
353 </section>
354
355 <section id='centos-packages'>
356 <title>CentOS Packages</title>
357
358 <para>
359 The following list shows the required packages by function
360 given a supported CentOS Linux distribution:
361 <note>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500362 For CentOS 6.x, some of the versions
363 of the components provided by the distribution are
364 too old (e.g. Git, Python, and tar).
365 It is recommended that you install the buildtools
366 in order to provide versions that will work with
367 the OpenEmbedded build system.
368 For information on how to install the buildtools
369 tarball, see the
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500370 "<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>"
371 section.
372 </note>
373 <itemizedlist>
374 <listitem><para><emphasis>Essentials:</emphasis>
375 Packages needed to build an image for a headless
376 system:
377 <literallayout class='monospaced'>
378 $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL;
379 </literallayout></para></listitem>
380 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
381 Packages recommended if the host system has graphics
382 support or if you are going to use the Eclipse
383 IDE:
384 <literallayout class='monospaced'>
385 $ sudo yum install SDL-devel xterm
386 </literallayout></para></listitem>
387 <listitem><para><emphasis>Documentation:</emphasis>
388 Packages needed if you are going to build out the
389 Yocto Project documentation manuals:
390 <literallayout class='monospaced'>
391 $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
392 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
393 </literallayout></para></listitem>
394 <listitem><para><emphasis>ADT Installer Extras:</emphasis>
395 Packages needed if you are going to be using the
396 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
397 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500398 $ sudo yum install autoconf automake libtool glib2-devel libarchive-devel
399 </literallayout>
400 <note>
401 For CentOS 6.x, in order for the
402 ADT installer script to work, you must have
403 installed the <filename>liblzma5</filename>,
404 <filename>libarchive3.x</filename>, and
405 <filename>libarchive-devel-3.1.3</filename>
406 (or older) packages, in that order.
407 </note>
408 </para></listitem>
409 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
410 Packages needed if you are going to run
411 <filename>oe-selftest</filename>:
412 <literallayout class='monospaced'>
413 $ sudo yum install GitPython
414 </literallayout>
415 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500416 </itemizedlist>
417 </para>
418 </section>
419 </section>
420
421 <section id='required-git-tar-and-python-versions'>
422 <title>Required Git, tar, and Python Versions</title>
423
424 <para>
425 In order to use the build system, your host development system
426 must meet the following version requirements for Git, tar, and
427 Python:
428 <itemizedlist>
429 <listitem><para>Git 1.7.8 or greater</para></listitem>
430 <listitem><para>tar 1.24 or greater</para></listitem>
431 <listitem><para>Python 2.7.3 or greater not including
432 Python 3.x, which is not supported.</para></listitem>
433 </itemizedlist>
434 </para>
435
436 <para>
437 If your host development system does not meet all these requirements,
438 you can resolve this by installing a <filename>buildtools</filename>
439 tarball that contains these tools.
440 You can get the tarball one of two ways: download a pre-built
441 tarball or use BitBake to build the tarball.
442 </para>
443
444 <section id='downloading-a-pre-built-buildtools-tarball'>
445 <title>Downloading a Pre-Built <filename>buildtools</filename> Tarball</title>
446
447 <para>
448 Downloading and running a pre-built buildtools installer is
449 the easiest of the two methods by which you can get these tools:
450 <orderedlist>
451 <listitem><para>
452 Locate and download the <filename>*.sh</filename> at
453 <ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/buildtools/'></ulink>.
454 </para></listitem>
455 <listitem><para>
456 Execute the installation script.
457 Here is an example:
458 <literallayout class='monospaced'>
459 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
460 </literallayout>
461 During execution, a prompt appears that allows you to
462 choose the installation directory.
463 For example, you could choose the following:
464 <literallayout class='monospaced'>
465 /home/<replaceable>your-username</replaceable>/buildtools
466 </literallayout>
467 </para></listitem>
468 <listitem><para>
469 Source the tools environment setup script by using a
470 command like the following:
471 <literallayout class='monospaced'>
472 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
473 </literallayout>
474 Of course, you need to supply your installation directory and be
475 sure to use the right file (i.e. i585 or x86-64).
476 </para>
477 <para>
478 After you have sourced the setup script,
479 the tools are added to <filename>PATH</filename>
480 and any other environment variables required to run the
481 tools are initialized.
482 The results are working versions versions of Git, tar,
483 Python and <filename>chrpath</filename>.
484 </para></listitem>
485 </orderedlist>
486 </para>
487 </section>
488
489 <section id='building-your-own-buildtools-tarball'>
490 <title>Building Your Own <filename>buildtools</filename> Tarball</title>
491
492 <para>
493 Building and running your own buildtools installer applies
494 only when you have a build host that can already run BitBake.
495 In this case, you use that machine to build the
496 <filename>.sh</filename> file and then
497 take steps to transfer and run it on a
498 machine that does not meet the minimal Git, tar, and Python
499 requirements.
500 </para>
501
502 <para>
503 Here are the steps to take to build and run your own
504 buildtools installer:
505 <orderedlist>
506 <listitem><para>
507 On the machine that is able to run BitBake,
508 be sure you have set up your build environment with
509 the setup script
510 (<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
511 or
512 <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
513 </para></listitem>
514 <listitem><para>
515 Run the BitBake command to build the tarball:
516 <literallayout class='monospaced'>
517 $ bitbake buildtools-tarball
518 </literallayout>
519 <note>
520 The
521 <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>
522 variable in your <filename>local.conf</filename> file
523 determines whether you build tools for a 32-bit
524 or 64-bit system.
525 </note>
526 Once the build completes, you can find the
527 <filename>.sh</filename> file that installs
528 the tools in the <filename>tmp/deploy/sdk</filename>
529 subdirectory of the
530 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
531 The installer file has the string "buildtools"
532 in the name.
533 </para></listitem>
534 <listitem><para>
535 Transfer the <filename>.sh</filename> file from the
536 build host to the machine that does not meet the
537 Git, tar, or Python requirements.
538 </para></listitem>
539 <listitem><para>
540 On the machine that does not meet the requirements,
541 run the <filename>.sh</filename> file
542 to install the tools.
543 Here is an example:
544 <literallayout class='monospaced'>
545 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
546 </literallayout>
547 During execution, a prompt appears that allows you to
548 choose the installation directory.
549 For example, you could choose the following:
550 <literallayout class='monospaced'>
551 /home/<replaceable>your_username</replaceable>/buildtools
552 </literallayout>
553 </para></listitem>
554 <listitem><para>
555 Source the tools environment setup script by using a
556 command like the following:
557 <literallayout class='monospaced'>
558 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
559 </literallayout>
560 Of course, you need to supply your installation directory and be
561 sure to use the right file (i.e. i585 or x86-64).
562 </para>
563 <para>
564 After you have sourced the setup script,
565 the tools are added to <filename>PATH</filename>
566 and any other environment variables required to run the
567 tools are initialized.
568 The results are working versions versions of Git, tar,
569 Python and <filename>chrpath</filename>.
570 </para></listitem>
571 </orderedlist>
572 </para>
573 </section>
574 </section>
575</section>
576
577<section id='intro-getit'>
578 <title>Obtaining the Yocto Project</title>
579 <para>
580 The Yocto Project development team makes the Yocto Project available through a number
581 of methods:
582 <itemizedlist>
583 <listitem><para><emphasis>Source Repositories:</emphasis>
584 Working from a copy of the upstream
585 <filename>poky</filename> repository is the
586 preferred method for obtaining and using a Yocto Project
587 release.
588 You can view the Yocto Project Source Repositories at
589 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
590 In particular, you can find the
591 <filename>poky</filename> repository at
592 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/'></ulink>.
593 </para></listitem>
594 <listitem><para><emphasis>Releases:</emphasis> Stable, tested
595 releases are available as tarballs through
596 <ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
597 <listitem><para><emphasis>Nightly Builds:</emphasis> These
598 tarball releases are available at
599 <ulink url='&YOCTO_AB_NIGHTLY_URL;'/>.
600 These builds include Yocto Project releases, meta-toolchain
601 tarball installation scripts, and experimental builds.
602 </para></listitem>
603 <listitem><para><emphasis>Yocto Project Website:</emphasis> You can
604 find tarball releases of the Yocto Project and supported BSPs
605 at the
606 <ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>.
607 Along with these downloads, you can find lots of other
608 information at this site.
609 </para></listitem>
610 </itemizedlist>
611 </para>
612</section>
613
614<section id='intro-getit-dev'>
615 <title>Development Checkouts</title>
616 <para>
617 Development using the Yocto Project requires a local
618 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
619 You can set up the Source Directory by cloning a copy of the upstream
620 <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>poky</ulink> Git repository.
621 For information on how to do this, see the
622 "<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Set Up</ulink>"
623 section in the Yocto Project Development Manual.
624 </para>
625</section>
626
627</chapter>
628<!--
629vim: expandtab tw=80 ts=4
630-->