blob: ddf6a860eb221f61aa42e7e48a9f73b0a7774ea3 [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>
Brad Bishop37a0e4d2017-12-04 01:01:44 -0500171 <listitem><para>Ubuntu 16.04</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500172<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
173 <listitem><para>Fedora 17 (Spherical)</para></listitem>
174 <listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
175 <listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500176 <listitem><para>Fedora release 22</para></listitem>
Brad Bishop37a0e4d2017-12-04 01:01:44 -0500177 <listitem><para>Fedora release 23</para></listitem>
178 <listitem><para>Fedora release 24</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500179<!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
180 <listitem><para>CentOS release 5.7 (Final)</para></listitem>
181 <listitem><para>CentOS release 5.8 (Final)</para></listitem>
Brad Bishop37a0e4d2017-12-04 01:01:44 -0500182 <listitem><para>CentOS release 6.3 (Final)</para></listitem>
183 <listitem><para>CentOS release 6.x</para></listitem> -->
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500184 <listitem><para>CentOS release 7.x</para></listitem>
Brad Bishop37a0e4d2017-12-04 01:01:44 -0500185<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
186 <listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem> -->
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500187 <listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
188<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
189 <listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
190 <listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
191 <listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
192 <listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem>
193 <listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> -->
194<!-- <listitem><para>openSUSE 11.4</para></listitem>
195 <listitem><para>openSUSE 12.1</para></listitem>
196 <listitem><para>openSUSE 12.2</para></listitem>
197 <listitem><para>openSUSE 12.3</para></listitem>
198 <listitem><para>openSUSE 13.1</para></listitem> -->
199 <listitem><para>openSUSE 13.2</para></listitem>
Brad Bishop37a0e4d2017-12-04 01:01:44 -0500200 <listitem><para>openSUSE 42.1</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500201 </itemizedlist>
202 </para>
203
204 <note>
205 While the Yocto Project Team attempts to ensure all Yocto Project
206 releases are one hundred percent compatible with each officially
207 supported Linux distribution, instances might exist where you
208 encounter a problem while using the Yocto Project on a specific
209 distribution.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500210 </note>
211 </section>
212
213 <section id='required-packages-for-the-host-development-system'>
214 <title>Required Packages for the Host Development System</title>
215
216 <para>
217 The list of packages you need on the host development system can
218 be large when covering all build scenarios using the Yocto Project.
219 This section provides required packages according to
220 Linux distribution and function.
221 </para>
222
223 <section id='ubuntu-packages'>
224 <title>Ubuntu and Debian</title>
225
226 <para>
227 The following list shows the required packages by function
228 given a supported Ubuntu or Debian Linux distribution:
229 <note>
230 If your build system has the
231 <filename>oss4-dev</filename> package installed, you
232 might experience QEMU build failures due to the package
233 installing its own custom
234 <filename>/usr/include/linux/soundcard.h</filename> on
235 the Debian system.
236 If you run into this situation, either of the following
237 solutions exist:
238 <literallayout class='monospaced'>
239 $ sudo apt-get build-dep qemu
240 $ sudo apt-get remove oss4-dev
241 </literallayout>
242 </note>
243 <itemizedlist>
244 <listitem><para><emphasis>Essentials:</emphasis>
245 Packages needed to build an image on a headless
246 system:
247 <literallayout class='monospaced'>
248 $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
249 </literallayout></para></listitem>
250 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
251 Packages recommended if the host system has graphics
252 support or if you are going to use the Eclipse
253 IDE:
254 <literallayout class='monospaced'>
255 $ sudo apt-get install libsdl1.2-dev xterm
256 </literallayout></para></listitem>
257 <listitem><para><emphasis>Documentation:</emphasis>
258 Packages needed if you are going to build out the
259 Yocto Project documentation manuals:
260 <literallayout class='monospaced'>
261 $ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
262 </literallayout></para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500263 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
264 Packages needed if you are going to run
265 <filename>oe-selftest</filename>:
266 <literallayout class='monospaced'>
267 $ sudo apt-get install python-git
268 </literallayout>
269 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500270 </itemizedlist>
271 </para>
272 </section>
273
274 <section id='fedora-packages'>
275 <title>Fedora Packages</title>
276
277 <para>
278 The following list shows the required packages by function
279 given a supported Fedora Linux distribution:
280 <itemizedlist>
281 <listitem><para><emphasis>Essentials:</emphasis>
282 Packages needed to build an image for a headless
283 system:
284 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500285 $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500286 </literallayout></para></listitem>
287 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
288 Packages recommended if the host system has graphics
289 support or if you are going to use the Eclipse
290 IDE:
291 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500292 $ sudo dnf install SDL-devel xterm
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500293 </literallayout></para></listitem>
294 <listitem><para><emphasis>Documentation:</emphasis>
295 Packages needed if you are going to build out the
296 Yocto Project documentation manuals:
297 <literallayout class='monospaced'>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500298 $ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500299 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
300 </literallayout></para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500301 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
302 Packages needed if you are going to run
303 <filename>oe-selftest</filename>:
304 <literallayout class='monospaced'>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600305 $ sudo dnf install python3-GitPython
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500306 </literallayout>
307 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500308 </itemizedlist>
309 </para>
310 </section>
311
312 <section id='opensuse-packages'>
313 <title>openSUSE Packages</title>
314
315 <para>
316 The following list shows the required packages by function
317 given a supported openSUSE Linux distribution:
318 <itemizedlist>
319 <listitem><para><emphasis>Essentials:</emphasis>
320 Packages needed to build an image for a headless
321 system:
322 <literallayout class='monospaced'>
323 $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
324 </literallayout></para></listitem>
325 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
326 Packages recommended if the host system has graphics
327 support or if you are going to use the Eclipse
328 IDE:
329 <literallayout class='monospaced'>
330 $ sudo zypper install libSDL-devel xterm
331 </literallayout></para></listitem>
332 <listitem><para><emphasis>Documentation:</emphasis>
333 Packages needed if you are going to build out the
334 Yocto Project documentation manuals:
335 <literallayout class='monospaced'>
336 $ sudo zypper install make fop xsltproc dblatex xmlto
337 </literallayout></para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500338 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
339 Packages needed if you are going to run
340 <filename>oe-selftest</filename>:
341 <literallayout class='monospaced'>
342 $ sudo zypper install python-GitPython
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500343 </literallayout></para></listitem>
344 </itemizedlist>
345 </para>
346 </section>
347
348 <section id='centos-packages'>
349 <title>CentOS Packages</title>
350
351 <para>
352 The following list shows the required packages by function
353 given a supported CentOS Linux distribution:
354 <note>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500355 For CentOS 6.x, some of the versions of the components
356 provided by the distribution are too old (e.g. Git, Python,
357 and tar).
358 It is recommended that you install the buildtools in order
359 to provide versions that will work with the OpenEmbedded
360 build system.
361 For information on how to install the buildtools tarball,
362 see the
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500363 "<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>"
364 section.
365 </note>
366 <itemizedlist>
367 <listitem><para><emphasis>Essentials:</emphasis>
368 Packages needed to build an image for a headless
369 system:
370 <literallayout class='monospaced'>
371 $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL;
372 </literallayout></para></listitem>
373 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
374 Packages recommended if the host system has graphics
375 support or if you are going to use the Eclipse
376 IDE:
377 <literallayout class='monospaced'>
378 $ sudo yum install SDL-devel xterm
379 </literallayout></para></listitem>
380 <listitem><para><emphasis>Documentation:</emphasis>
381 Packages needed if you are going to build out the
382 Yocto Project documentation manuals:
383 <literallayout class='monospaced'>
384 $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
385 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
386 </literallayout></para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500387 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
388 Packages needed if you are going to run
389 <filename>oe-selftest</filename>:
390 <literallayout class='monospaced'>
391 $ sudo yum install GitPython
392 </literallayout>
393 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500394 </itemizedlist>
395 </para>
396 </section>
397 </section>
398
399 <section id='required-git-tar-and-python-versions'>
400 <title>Required Git, tar, and Python Versions</title>
401
402 <para>
403 In order to use the build system, your host development system
404 must meet the following version requirements for Git, tar, and
405 Python:
406 <itemizedlist>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500407 <listitem><para>Git 1.8.3.1 or greater</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500408 <listitem><para>tar 1.24 or greater</para></listitem>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600409 <listitem><para>Python 3.4.0 or greater</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500410 </itemizedlist>
411 </para>
412
413 <para>
414 If your host development system does not meet all these requirements,
415 you can resolve this by installing a <filename>buildtools</filename>
416 tarball that contains these tools.
417 You can get the tarball one of two ways: download a pre-built
418 tarball or use BitBake to build the tarball.
419 </para>
420
421 <section id='downloading-a-pre-built-buildtools-tarball'>
422 <title>Downloading a Pre-Built <filename>buildtools</filename> Tarball</title>
423
424 <para>
425 Downloading and running a pre-built buildtools installer is
426 the easiest of the two methods by which you can get these tools:
427 <orderedlist>
428 <listitem><para>
429 Locate and download the <filename>*.sh</filename> at
430 <ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/buildtools/'></ulink>.
431 </para></listitem>
432 <listitem><para>
433 Execute the installation script.
434 Here is an example:
435 <literallayout class='monospaced'>
436 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
437 </literallayout>
438 During execution, a prompt appears that allows you to
439 choose the installation directory.
440 For example, you could choose the following:
441 <literallayout class='monospaced'>
442 /home/<replaceable>your-username</replaceable>/buildtools
443 </literallayout>
444 </para></listitem>
445 <listitem><para>
446 Source the tools environment setup script by using a
447 command like the following:
448 <literallayout class='monospaced'>
449 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
450 </literallayout>
451 Of course, you need to supply your installation directory and be
452 sure to use the right file (i.e. i585 or x86-64).
453 </para>
454 <para>
455 After you have sourced the setup script,
456 the tools are added to <filename>PATH</filename>
457 and any other environment variables required to run the
458 tools are initialized.
459 The results are working versions versions of Git, tar,
460 Python and <filename>chrpath</filename>.
461 </para></listitem>
462 </orderedlist>
463 </para>
464 </section>
465
466 <section id='building-your-own-buildtools-tarball'>
467 <title>Building Your Own <filename>buildtools</filename> Tarball</title>
468
469 <para>
470 Building and running your own buildtools installer applies
471 only when you have a build host that can already run BitBake.
472 In this case, you use that machine to build the
473 <filename>.sh</filename> file and then
474 take steps to transfer and run it on a
475 machine that does not meet the minimal Git, tar, and Python
476 requirements.
477 </para>
478
479 <para>
480 Here are the steps to take to build and run your own
481 buildtools installer:
482 <orderedlist>
483 <listitem><para>
484 On the machine that is able to run BitBake,
485 be sure you have set up your build environment with
486 the setup script
487 (<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
488 or
489 <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
490 </para></listitem>
491 <listitem><para>
492 Run the BitBake command to build the tarball:
493 <literallayout class='monospaced'>
494 $ bitbake buildtools-tarball
495 </literallayout>
496 <note>
497 The
498 <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>
499 variable in your <filename>local.conf</filename> file
500 determines whether you build tools for a 32-bit
501 or 64-bit system.
502 </note>
503 Once the build completes, you can find the
504 <filename>.sh</filename> file that installs
505 the tools in the <filename>tmp/deploy/sdk</filename>
506 subdirectory of the
507 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
508 The installer file has the string "buildtools"
509 in the name.
510 </para></listitem>
511 <listitem><para>
512 Transfer the <filename>.sh</filename> file from the
513 build host to the machine that does not meet the
514 Git, tar, or Python requirements.
515 </para></listitem>
516 <listitem><para>
517 On the machine that does not meet the requirements,
518 run the <filename>.sh</filename> file
519 to install the tools.
520 Here is an example:
521 <literallayout class='monospaced'>
522 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
523 </literallayout>
524 During execution, a prompt appears that allows you to
525 choose the installation directory.
526 For example, you could choose the following:
527 <literallayout class='monospaced'>
528 /home/<replaceable>your_username</replaceable>/buildtools
529 </literallayout>
530 </para></listitem>
531 <listitem><para>
532 Source the tools environment setup script by using a
533 command like the following:
534 <literallayout class='monospaced'>
535 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
536 </literallayout>
537 Of course, you need to supply your installation directory and be
538 sure to use the right file (i.e. i585 or x86-64).
539 </para>
540 <para>
541 After you have sourced the setup script,
542 the tools are added to <filename>PATH</filename>
543 and any other environment variables required to run the
544 tools are initialized.
545 The results are working versions versions of Git, tar,
546 Python and <filename>chrpath</filename>.
547 </para></listitem>
548 </orderedlist>
549 </para>
550 </section>
551 </section>
552</section>
553
554<section id='intro-getit'>
555 <title>Obtaining the Yocto Project</title>
556 <para>
557 The Yocto Project development team makes the Yocto Project available through a number
558 of methods:
559 <itemizedlist>
560 <listitem><para><emphasis>Source Repositories:</emphasis>
561 Working from a copy of the upstream
562 <filename>poky</filename> repository is the
563 preferred method for obtaining and using a Yocto Project
564 release.
565 You can view the Yocto Project Source Repositories at
566 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
567 In particular, you can find the
568 <filename>poky</filename> repository at
569 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/'></ulink>.
570 </para></listitem>
571 <listitem><para><emphasis>Releases:</emphasis> Stable, tested
572 releases are available as tarballs through
573 <ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
574 <listitem><para><emphasis>Nightly Builds:</emphasis> These
575 tarball releases are available at
576 <ulink url='&YOCTO_AB_NIGHTLY_URL;'/>.
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500577 These builds include Yocto Project releases, SDK installation
578 scripts, and experimental builds.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500579 </para></listitem>
580 <listitem><para><emphasis>Yocto Project Website:</emphasis> You can
581 find tarball releases of the Yocto Project and supported BSPs
582 at the
583 <ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>.
584 Along with these downloads, you can find lots of other
585 information at this site.
586 </para></listitem>
587 </itemizedlist>
588 </para>
589</section>
590
591<section id='intro-getit-dev'>
592 <title>Development Checkouts</title>
593 <para>
594 Development using the Yocto Project requires a local
595 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
596 You can set up the Source Directory by cloning a copy of the upstream
597 <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>poky</ulink> Git repository.
598 For information on how to do this, see the
599 "<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Set Up</ulink>"
600 section in the Yocto Project Development Manual.
601 </para>
602</section>
603
604</chapter>
605<!--
606vim: expandtab tw=80 ts=4
607-->