diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
commit | 972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch) | |
tree | 97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /documentation/ref-manual/introduction.xml | |
download | poky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'documentation/ref-manual/introduction.xml')
-rw-r--r-- | documentation/ref-manual/introduction.xml | 572 |
1 files changed, 572 insertions, 0 deletions
diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml new file mode 100644 index 0000000000..19e9895ee6 --- /dev/null +++ b/documentation/ref-manual/introduction.xml | |||
@@ -0,0 +1,572 @@ | |||
1 | <!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='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;#profile-manual'>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'>What You Need and How You Get It</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 | <!-- <listitem><para>Ubuntu 10.04</para></listitem> | ||
151 | <listitem><para>Ubuntu 11.10</para></listitem> --> | ||
152 | <listitem><para>Ubuntu 12.04 (LTS)</para></listitem> | ||
153 | <listitem><para>Ubuntu 13.10</para></listitem> | ||
154 | <listitem><para>Ubuntu 14.04 (LTS)</para></listitem> | ||
155 | <!-- <listitem><para>Fedora 16 (Verne)</para></listitem> | ||
156 | <listitem><para>Fedora 17 (Spherical)</para></listitem> --> | ||
157 | <listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem> | ||
158 | <listitem><para>Fedora release 20 (Heisenbug)</para></listitem> | ||
159 | <!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem> | ||
160 | <listitem><para>CentOS release 5.7 (Final)</para></listitem> | ||
161 | <listitem><para>CentOS release 5.8 (Final)</para></listitem> | ||
162 | <listitem><para>CentOS release 6.3 (Final)</para></listitem> --> | ||
163 | <listitem><para>CentOS release 6.4</para></listitem> | ||
164 | <listitem><para>CentOS release 6.5</para></listitem> | ||
165 | <!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem> --> | ||
166 | <listitem><para>Debian GNU/Linux 7.0 (Wheezy)</para></listitem> | ||
167 | <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem> | ||
168 | <listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem> | ||
169 | <listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem> | ||
170 | <listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem> | ||
171 | <listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem> | ||
172 | <listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> | ||
173 | <!-- <listitem><para>openSUSE 11.4</para></listitem> | ||
174 | <listitem><para>openSUSE 12.1</para></listitem> --> | ||
175 | <listitem><para>openSUSE 12.2</para></listitem> | ||
176 | <listitem><para>openSUSE 12.3</para></listitem> | ||
177 | <listitem><para>openSUSE 13.1</para></listitem> | ||
178 | </itemizedlist> | ||
179 | </para> | ||
180 | |||
181 | <note> | ||
182 | While the Yocto Project Team attempts to ensure all Yocto Project | ||
183 | releases are one hundred percent compatible with each officially | ||
184 | supported Linux distribution, instances might exist where you | ||
185 | encounter a problem while using the Yocto Project on a specific | ||
186 | distribution. | ||
187 | For example, the CentOS 6.4 distribution does not include the | ||
188 | Gtk+ 2.20.0 and PyGtk 2.21.0 (or higher) packages, which are | ||
189 | required to run | ||
190 | <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob</ulink>. | ||
191 | </note> | ||
192 | </section> | ||
193 | |||
194 | <section id='required-packages-for-the-host-development-system'> | ||
195 | <title>Required Packages for the Host Development System</title> | ||
196 | |||
197 | <para> | ||
198 | The list of packages you need on the host development system can | ||
199 | be large when covering all build scenarios using the Yocto Project. | ||
200 | This section provides required packages according to | ||
201 | Linux distribution and function. | ||
202 | </para> | ||
203 | |||
204 | <section id='ubuntu-packages'> | ||
205 | <title>Ubuntu and Debian</title> | ||
206 | |||
207 | <para> | ||
208 | The following list shows the required packages by function | ||
209 | given a supported Ubuntu or Debian Linux distribution: | ||
210 | <itemizedlist> | ||
211 | <listitem><para><emphasis>Essentials:</emphasis> | ||
212 | Packages needed to build an image on a headless | ||
213 | system: | ||
214 | <literallayout class='monospaced'> | ||
215 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; | ||
216 | </literallayout></para></listitem> | ||
217 | <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis> | ||
218 | Packages recommended if the host system has graphics | ||
219 | support or if you are going to use the Eclipse | ||
220 | IDE: | ||
221 | <literallayout class='monospaced'> | ||
222 | $ sudo apt-get install libsdl1.2-dev xterm | ||
223 | </literallayout></para></listitem> | ||
224 | <listitem><para><emphasis>Documentation:</emphasis> | ||
225 | Packages needed if you are going to build out the | ||
226 | Yocto Project documentation manuals: | ||
227 | <literallayout class='monospaced'> | ||
228 | $ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto | ||
229 | </literallayout></para></listitem> | ||
230 | <listitem><para><emphasis>ADT Installer Extras:</emphasis> | ||
231 | Packages needed if you are going to be using the | ||
232 | <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: | ||
233 | <literallayout class='monospaced'> | ||
234 | $ sudo apt-get install autoconf automake libtool libglib2.0-dev | ||
235 | </literallayout></para></listitem> | ||
236 | </itemizedlist> | ||
237 | </para> | ||
238 | </section> | ||
239 | |||
240 | <section id='fedora-packages'> | ||
241 | <title>Fedora Packages</title> | ||
242 | |||
243 | <para> | ||
244 | The following list shows the required packages by function | ||
245 | given a supported Fedora Linux distribution: | ||
246 | <itemizedlist> | ||
247 | <listitem><para><emphasis>Essentials:</emphasis> | ||
248 | Packages needed to build an image for a headless | ||
249 | system: | ||
250 | <literallayout class='monospaced'> | ||
251 | $ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; | ||
252 | </literallayout></para></listitem> | ||
253 | <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis> | ||
254 | Packages recommended if the host system has graphics | ||
255 | support or if you are going to use the Eclipse | ||
256 | IDE: | ||
257 | <literallayout class='monospaced'> | ||
258 | $ sudo yum install SDL-devel xterm perl-Thread-Queue | ||
259 | </literallayout></para></listitem> | ||
260 | <listitem><para><emphasis>Documentation:</emphasis> | ||
261 | Packages needed if you are going to build out the | ||
262 | Yocto Project documentation manuals: | ||
263 | <literallayout class='monospaced'> | ||
264 | $ sudo yum install make docbook-style-dsssl docbook-style-xsl \ | ||
265 | docbook-dtds docbook-utils fop libxslt dblatex xmlto | ||
266 | </literallayout></para></listitem> | ||
267 | <listitem><para><emphasis>ADT Installer Extras:</emphasis> | ||
268 | Packages needed if you are going to be using the | ||
269 | <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: | ||
270 | <literallayout class='monospaced'> | ||
271 | $ sudo yum install autoconf automake libtool glib2-devel | ||
272 | </literallayout></para></listitem> | ||
273 | </itemizedlist> | ||
274 | </para> | ||
275 | </section> | ||
276 | |||
277 | <section id='opensuse-packages'> | ||
278 | <title>openSUSE Packages</title> | ||
279 | |||
280 | <para> | ||
281 | The following list shows the required packages by function | ||
282 | given a supported openSUSE Linux distribution: | ||
283 | <itemizedlist> | ||
284 | <listitem><para><emphasis>Essentials:</emphasis> | ||
285 | Packages needed to build an image for a headless | ||
286 | system: | ||
287 | <literallayout class='monospaced'> | ||
288 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; | ||
289 | </literallayout></para></listitem> | ||
290 | <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis> | ||
291 | Packages recommended if the host system has graphics | ||
292 | support or if you are going to use the Eclipse | ||
293 | IDE: | ||
294 | <literallayout class='monospaced'> | ||
295 | $ sudo zypper install libSDL-devel xterm | ||
296 | </literallayout></para></listitem> | ||
297 | <listitem><para><emphasis>Documentation:</emphasis> | ||
298 | Packages needed if you are going to build out the | ||
299 | Yocto Project documentation manuals: | ||
300 | <literallayout class='monospaced'> | ||
301 | $ sudo zypper install make fop xsltproc dblatex xmlto | ||
302 | </literallayout></para></listitem> | ||
303 | <listitem><para><emphasis>ADT Installer Extras:</emphasis> | ||
304 | Packages needed if you are going to be using the | ||
305 | <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: | ||
306 | <literallayout class='monospaced'> | ||
307 | $ sudo zypper install autoconf automake libtool glib2-devel | ||
308 | </literallayout></para></listitem> | ||
309 | </itemizedlist> | ||
310 | </para> | ||
311 | </section> | ||
312 | |||
313 | <section id='centos-packages'> | ||
314 | <title>CentOS Packages</title> | ||
315 | |||
316 | <para> | ||
317 | The following list shows the required packages by function | ||
318 | given a supported CentOS Linux distribution: | ||
319 | <note> | ||
320 | For CentOS 6.x, some of the versions of the components | ||
321 | provided by the distribution are too old (e.g. Git, Python, | ||
322 | and tar). | ||
323 | It is recommended that you install the buildtools in order | ||
324 | to provide versions that will work with the OpenEmbedded | ||
325 | build system. | ||
326 | For information on how to install the buildtools tarball, | ||
327 | see the | ||
328 | "<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>" | ||
329 | section. | ||
330 | </note> | ||
331 | <itemizedlist> | ||
332 | <listitem><para><emphasis>Essentials:</emphasis> | ||
333 | Packages needed to build an image for a headless | ||
334 | system: | ||
335 | <literallayout class='monospaced'> | ||
336 | $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; | ||
337 | </literallayout></para></listitem> | ||
338 | <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis> | ||
339 | Packages recommended if the host system has graphics | ||
340 | support or if you are going to use the Eclipse | ||
341 | IDE: | ||
342 | <literallayout class='monospaced'> | ||
343 | $ sudo yum install SDL-devel xterm | ||
344 | </literallayout></para></listitem> | ||
345 | <listitem><para><emphasis>Documentation:</emphasis> | ||
346 | Packages needed if you are going to build out the | ||
347 | Yocto Project documentation manuals: | ||
348 | <literallayout class='monospaced'> | ||
349 | $ sudo yum install make docbook-style-dsssl docbook-style-xsl \ | ||
350 | docbook-dtds docbook-utils fop libxslt dblatex xmlto | ||
351 | </literallayout></para></listitem> | ||
352 | <listitem><para><emphasis>ADT Installer Extras:</emphasis> | ||
353 | Packages needed if you are going to be using the | ||
354 | <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: | ||
355 | <literallayout class='monospaced'> | ||
356 | $ sudo yum install autoconf automake libtool glib2-devel | ||
357 | </literallayout></para></listitem> | ||
358 | </itemizedlist> | ||
359 | </para> | ||
360 | </section> | ||
361 | </section> | ||
362 | |||
363 | <section id='required-git-tar-and-python-versions'> | ||
364 | <title>Required Git, tar, and Python Versions</title> | ||
365 | |||
366 | <para> | ||
367 | In order to use the build system, your host development system | ||
368 | must meet the following version requirements for Git, tar, and | ||
369 | Python: | ||
370 | <itemizedlist> | ||
371 | <listitem><para>Git 1.7.8 or greater</para></listitem> | ||
372 | <listitem><para>tar 1.24 or greater</para></listitem> | ||
373 | <listitem><para>Python 2.7.3 or greater not including | ||
374 | Python 3.x, which is not supported.</para></listitem> | ||
375 | </itemizedlist> | ||
376 | </para> | ||
377 | |||
378 | <para> | ||
379 | If your host development system does not meet all these requirements, | ||
380 | you can resolve this by installing a <filename>buildtools</filename> | ||
381 | tarball that contains these tools. | ||
382 | You can get the tarball one of two ways: download a pre-built | ||
383 | tarball or use BitBake to build the tarball. | ||
384 | </para> | ||
385 | |||
386 | <section id='downloading-a-pre-built-buildtools-tarball'> | ||
387 | <title>Downloading a Pre-Built <filename>buildtools</filename> Tarball</title> | ||
388 | |||
389 | <para> | ||
390 | Downloading and running a pre-built buildtools installer is | ||
391 | the easiest of the two methods by which you can get these tools: | ||
392 | <orderedlist> | ||
393 | <listitem><para> | ||
394 | Locate and download the <filename>*.sh</filename> at | ||
395 | <ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/buildtools/'></ulink>. | ||
396 | </para></listitem> | ||
397 | <listitem><para> | ||
398 | Execute the installation script. | ||
399 | Here is an example: | ||
400 | <literallayout class='monospaced'> | ||
401 | $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh | ||
402 | </literallayout> | ||
403 | During execution, a prompt appears that allows you to | ||
404 | choose the installation directory. | ||
405 | For example, you could choose the following: | ||
406 | <literallayout class='monospaced'> | ||
407 | /home/<replaceable>your-username</replaceable>/buildtools | ||
408 | </literallayout> | ||
409 | </para></listitem> | ||
410 | <listitem><para> | ||
411 | Source the tools environment setup script by using a | ||
412 | command like the following: | ||
413 | <literallayout class='monospaced'> | ||
414 | $ source /home/<replaceable>your-username</replaceable>/buildtools/environment-setup-i586-poky-linux | ||
415 | </literallayout> | ||
416 | Of course, you need to supply your installation directory and be | ||
417 | sure to use the right file (i.e. i585 or x86-64). | ||
418 | </para> | ||
419 | <para> | ||
420 | After you have sourced the setup script, | ||
421 | the tools are added to <filename>PATH</filename> | ||
422 | and any other environment variables required to run the | ||
423 | tools are initialized. | ||
424 | The results are working versions versions of Git, tar, | ||
425 | Python and <filename>chrpath</filename>. | ||
426 | </para></listitem> | ||
427 | </orderedlist> | ||
428 | </para> | ||
429 | </section> | ||
430 | |||
431 | <section id='building-your-own-buildtools-tarball'> | ||
432 | <title>Building Your Own <filename>buildtools</filename> Tarball</title> | ||
433 | |||
434 | <para> | ||
435 | Building and running your own buildtools installer applies | ||
436 | only when you have a build host that can already run BitBake. | ||
437 | In this case, you use that machine to build the | ||
438 | <filename>.sh</filename> file and then | ||
439 | take steps to transfer and run it on a | ||
440 | machine that does not meet the minimal Git, tar, and Python | ||
441 | requirements. | ||
442 | </para> | ||
443 | |||
444 | <para> | ||
445 | Here are the steps to take to build and run your own | ||
446 | buildtools installer: | ||
447 | <orderedlist> | ||
448 | <listitem><para> | ||
449 | On the machine that is able to run BitBake, | ||
450 | be sure you have set up your build environment with | ||
451 | the setup script | ||
452 | (<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> | ||
453 | or | ||
454 | <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>). | ||
455 | </para></listitem> | ||
456 | <listitem><para> | ||
457 | Run the BitBake command to build the tarball: | ||
458 | <literallayout class='monospaced'> | ||
459 | $ bitbake buildtools-tarball | ||
460 | </literallayout> | ||
461 | <note> | ||
462 | The | ||
463 | <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link> | ||
464 | variable in your <filename>local.conf</filename> file | ||
465 | determines whether you build tools for a 32-bit | ||
466 | or 64-bit system. | ||
467 | </note> | ||
468 | Once the build completes, you can find the | ||
469 | <filename>.sh</filename> file that installs | ||
470 | the tools in the <filename>tmp/deploy/sdk</filename> | ||
471 | subdirectory of the | ||
472 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | ||
473 | The installer file has the string "buildtools" | ||
474 | in the name. | ||
475 | </para></listitem> | ||
476 | <listitem><para> | ||
477 | Transfer the <filename>.sh</filename> file from the | ||
478 | build host to the machine that does not meet the | ||
479 | Git, tar, or Python requirements. | ||
480 | </para></listitem> | ||
481 | <listitem><para> | ||
482 | On the machine that does not meet the requirements, | ||
483 | run the <filename>.sh</filename> file | ||
484 | to install the tools. | ||
485 | Here is an example: | ||
486 | <literallayout class='monospaced'> | ||
487 | $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh | ||
488 | </literallayout> | ||
489 | During execution, a prompt appears that allows you to | ||
490 | choose the installation directory. | ||
491 | For example, you could choose the following: | ||
492 | <literallayout class='monospaced'> | ||
493 | /home/<replaceable>your-username</replaceable>/buildtools | ||
494 | </literallayout> | ||
495 | </para></listitem> | ||
496 | <listitem><para> | ||
497 | Source the tools environment setup script by using a | ||
498 | command like the following: | ||
499 | <literallayout class='monospaced'> | ||
500 | $ source /home/<replaceable>your-username</replaceable>/buildtools/environment-setup-i586-poky-linux | ||
501 | </literallayout> | ||
502 | Of course, you need to supply your installation directory and be | ||
503 | sure to use the right file (i.e. i585 or x86-64). | ||
504 | </para> | ||
505 | <para> | ||
506 | After you have sourced the setup script, | ||
507 | the tools are added to <filename>PATH</filename> | ||
508 | and any other environment variables required to run the | ||
509 | tools are initialized. | ||
510 | The results are working versions versions of Git, tar, | ||
511 | Python and <filename>chrpath</filename>. | ||
512 | </para></listitem> | ||
513 | </orderedlist> | ||
514 | </para> | ||
515 | </section> | ||
516 | </section> | ||
517 | </section> | ||
518 | |||
519 | <section id='intro-getit'> | ||
520 | <title>Obtaining the Yocto Project</title> | ||
521 | <para> | ||
522 | The Yocto Project development team makes the Yocto Project available through a number | ||
523 | of methods: | ||
524 | <itemizedlist> | ||
525 | <listitem><para><emphasis>Source Repositories:</emphasis> | ||
526 | Working from a copy of the upstream | ||
527 | <filename>poky</filename> repository is the | ||
528 | preferred method for obtaining and using a Yocto Project | ||
529 | release. | ||
530 | You can view the Yocto Project Source Repositories at | ||
531 | <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>. | ||
532 | In particular, you can find the | ||
533 | <filename>poky</filename> repository at | ||
534 | <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/'></ulink>. | ||
535 | </para></listitem> | ||
536 | <listitem><para><emphasis>Releases:</emphasis> Stable, tested | ||
537 | releases are available as tarballs through | ||
538 | <ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem> | ||
539 | <listitem><para><emphasis>Nightly Builds:</emphasis> These | ||
540 | tarball releases are available at | ||
541 | <ulink url='http://autobuilder.yoctoproject.org/nightly'/>. | ||
542 | These builds include Yocto Project releases, meta-toolchain | ||
543 | tarball installation scripts, and experimental builds. | ||
544 | </para></listitem> | ||
545 | <listitem><para><emphasis>Yocto Project Website:</emphasis> You can | ||
546 | find tarball releases of the Yocto Project and supported BSPs | ||
547 | at the | ||
548 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>. | ||
549 | Along with these downloads, you can find lots of other | ||
550 | information at this site. | ||
551 | </para></listitem> | ||
552 | </itemizedlist> | ||
553 | </para> | ||
554 | </section> | ||
555 | |||
556 | <section id='intro-getit-dev'> | ||
557 | <title>Development Checkouts</title> | ||
558 | <para> | ||
559 | Development using the Yocto Project requires a local | ||
560 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | ||
561 | You can set up the Source Directory by cloning a copy of the upstream | ||
562 | <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>poky</ulink> Git repository. | ||
563 | For information on how to do this, see the | ||
564 | "<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Set Up</ulink>" | ||
565 | section in the Yocto Project Development Manual. | ||
566 | </para> | ||
567 | </section> | ||
568 | |||
569 | </chapter> | ||
570 | <!-- | ||
571 | vim: expandtab tw=80 ts=4 | ||
572 | --> | ||