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