blob: eec6cb34f119af51b38b69a99a55a6fe714c7327 [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 \
Brad Bishop6e60e8b2018-02-01 10:27:11 -0500299 docbook-dtds docbook-utils fop libxslt dblatex xmlto
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500300 </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'>
Brad Bishop6e60e8b2018-02-01 10:27:11 -0500336 $ sudo zypper install make dblatex xmlto
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500337 </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:
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500354 <itemizedlist>
355 <listitem><para><emphasis>Essentials:</emphasis>
356 Packages needed to build an image for a headless
357 system:
358 <literallayout class='monospaced'>
Brad Bishop6e60e8b2018-02-01 10:27:11 -0500359 $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
360 </literallayout>
361 <note><title>Notes</title>
362 <itemizedlist>
363 <listitem><para>
364 Extra Packages for Enterprise Linux
365 (i.e. <filename>epel-release</filename>)
366 is a collection of packages from Fedora
367 built on RHEL/CentOS for easy installation
368 of packages not included in enterprise
369 Linux by default.
370 You need to install these packages
371 separately.
372 </para></listitem>
373 <listitem><para>
374 The <filename>makecache</filename> command
375 consumes additional Metadata from
376 <filename>epel-release</filename>.
377 </para></listitem>
378 </itemizedlist>
379 </note>
380 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500381 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
382 Packages recommended if the host system has graphics
383 support or if you are going to use the Eclipse
384 IDE:
385 <literallayout class='monospaced'>
386 $ sudo yum install SDL-devel xterm
387 </literallayout></para></listitem>
388 <listitem><para><emphasis>Documentation:</emphasis>
389 Packages needed if you are going to build out the
390 Yocto Project documentation manuals:
391 <literallayout class='monospaced'>
392 $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
Brad Bishop6e60e8b2018-02-01 10:27:11 -0500393 docbook-dtds docbook-utils fop libxslt dblatex xmlto
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500394 </literallayout></para></listitem>
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500395 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
396 Packages needed if you are going to run
397 <filename>oe-selftest</filename>:
398 <literallayout class='monospaced'>
399 $ sudo yum install GitPython
400 </literallayout>
401 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500402 </itemizedlist>
403 </para>
404 </section>
405 </section>
406
407 <section id='required-git-tar-and-python-versions'>
408 <title>Required Git, tar, and Python Versions</title>
409
410 <para>
411 In order to use the build system, your host development system
412 must meet the following version requirements for Git, tar, and
413 Python:
414 <itemizedlist>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500415 <listitem><para>Git 1.8.3.1 or greater</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500416 <listitem><para>tar 1.24 or greater</para></listitem>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600417 <listitem><para>Python 3.4.0 or greater</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500418 </itemizedlist>
419 </para>
420
421 <para>
422 If your host development system does not meet all these requirements,
423 you can resolve this by installing a <filename>buildtools</filename>
424 tarball that contains these tools.
425 You can get the tarball one of two ways: download a pre-built
426 tarball or use BitBake to build the tarball.
427 </para>
428
429 <section id='downloading-a-pre-built-buildtools-tarball'>
430 <title>Downloading a Pre-Built <filename>buildtools</filename> Tarball</title>
431
432 <para>
433 Downloading and running a pre-built buildtools installer is
434 the easiest of the two methods by which you can get these tools:
435 <orderedlist>
436 <listitem><para>
437 Locate and download the <filename>*.sh</filename> at
438 <ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/buildtools/'></ulink>.
439 </para></listitem>
440 <listitem><para>
441 Execute the installation script.
442 Here is an example:
443 <literallayout class='monospaced'>
444 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
445 </literallayout>
446 During execution, a prompt appears that allows you to
447 choose the installation directory.
448 For example, you could choose the following:
449 <literallayout class='monospaced'>
450 /home/<replaceable>your-username</replaceable>/buildtools
451 </literallayout>
452 </para></listitem>
453 <listitem><para>
454 Source the tools environment setup script by using a
455 command like the following:
456 <literallayout class='monospaced'>
457 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
458 </literallayout>
459 Of course, you need to supply your installation directory and be
460 sure to use the right file (i.e. i585 or x86-64).
461 </para>
462 <para>
463 After you have sourced the setup script,
464 the tools are added to <filename>PATH</filename>
465 and any other environment variables required to run the
466 tools are initialized.
467 The results are working versions versions of Git, tar,
468 Python and <filename>chrpath</filename>.
469 </para></listitem>
470 </orderedlist>
471 </para>
472 </section>
473
474 <section id='building-your-own-buildtools-tarball'>
475 <title>Building Your Own <filename>buildtools</filename> Tarball</title>
476
477 <para>
478 Building and running your own buildtools installer applies
479 only when you have a build host that can already run BitBake.
480 In this case, you use that machine to build the
481 <filename>.sh</filename> file and then
482 take steps to transfer and run it on a
483 machine that does not meet the minimal Git, tar, and Python
484 requirements.
485 </para>
486
487 <para>
488 Here are the steps to take to build and run your own
489 buildtools installer:
490 <orderedlist>
491 <listitem><para>
492 On the machine that is able to run BitBake,
493 be sure you have set up your build environment with
494 the setup script
495 (<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
496 or
497 <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
498 </para></listitem>
499 <listitem><para>
500 Run the BitBake command to build the tarball:
501 <literallayout class='monospaced'>
502 $ bitbake buildtools-tarball
503 </literallayout>
504 <note>
505 The
506 <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>
507 variable in your <filename>local.conf</filename> file
508 determines whether you build tools for a 32-bit
509 or 64-bit system.
510 </note>
511 Once the build completes, you can find the
512 <filename>.sh</filename> file that installs
513 the tools in the <filename>tmp/deploy/sdk</filename>
514 subdirectory of the
515 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
516 The installer file has the string "buildtools"
517 in the name.
518 </para></listitem>
519 <listitem><para>
520 Transfer the <filename>.sh</filename> file from the
521 build host to the machine that does not meet the
522 Git, tar, or Python requirements.
523 </para></listitem>
524 <listitem><para>
525 On the machine that does not meet the requirements,
526 run the <filename>.sh</filename> file
527 to install the tools.
528 Here is an example:
529 <literallayout class='monospaced'>
530 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
531 </literallayout>
532 During execution, a prompt appears that allows you to
533 choose the installation directory.
534 For example, you could choose the following:
535 <literallayout class='monospaced'>
536 /home/<replaceable>your_username</replaceable>/buildtools
537 </literallayout>
538 </para></listitem>
539 <listitem><para>
540 Source the tools environment setup script by using a
541 command like the following:
542 <literallayout class='monospaced'>
543 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
544 </literallayout>
545 Of course, you need to supply your installation directory and be
546 sure to use the right file (i.e. i585 or x86-64).
547 </para>
548 <para>
549 After you have sourced the setup script,
550 the tools are added to <filename>PATH</filename>
551 and any other environment variables required to run the
552 tools are initialized.
553 The results are working versions versions of Git, tar,
554 Python and <filename>chrpath</filename>.
555 </para></listitem>
556 </orderedlist>
557 </para>
558 </section>
559 </section>
560</section>
561
562<section id='intro-getit'>
563 <title>Obtaining the Yocto Project</title>
564 <para>
565 The Yocto Project development team makes the Yocto Project available through a number
566 of methods:
567 <itemizedlist>
568 <listitem><para><emphasis>Source Repositories:</emphasis>
569 Working from a copy of the upstream
570 <filename>poky</filename> repository is the
571 preferred method for obtaining and using a Yocto Project
572 release.
573 You can view the Yocto Project Source Repositories at
574 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
575 In particular, you can find the
576 <filename>poky</filename> repository at
577 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/'></ulink>.
578 </para></listitem>
579 <listitem><para><emphasis>Releases:</emphasis> Stable, tested
580 releases are available as tarballs through
581 <ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
582 <listitem><para><emphasis>Nightly Builds:</emphasis> These
583 tarball releases are available at
584 <ulink url='&YOCTO_AB_NIGHTLY_URL;'/>.
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500585 These builds include Yocto Project releases, SDK installation
586 scripts, and experimental builds.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500587 </para></listitem>
588 <listitem><para><emphasis>Yocto Project Website:</emphasis> You can
589 find tarball releases of the Yocto Project and supported BSPs
590 at the
591 <ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>.
592 Along with these downloads, you can find lots of other
593 information at this site.
594 </para></listitem>
595 </itemizedlist>
596 </para>
597</section>
598
599<section id='intro-getit-dev'>
600 <title>Development Checkouts</title>
601 <para>
602 Development using the Yocto Project requires a local
603 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
604 You can set up the Source Directory by cloning a copy of the upstream
605 <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>poky</ulink> Git repository.
606 For information on how to do this, see the
607 "<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Set Up</ulink>"
608 section in the Yocto Project Development Manual.
609 </para>
610</section>
611
612</chapter>
613<!--
614vim: expandtab tw=80 ts=4
615-->