summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/ref-system-requirements.xml
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2018-01-05 15:43:42 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-02-14 15:25:27 +0000
commit60cfd0785b2d64ec808e08ad9f716047542d8ba9 (patch)
tree7c103c1a8bab35c1e0814566fde3215936596290 /documentation/ref-manual/ref-system-requirements.xml
parentc06a654c1d14f20b31256298543e2e3504acc0a9 (diff)
downloadpoky-60cfd0785b2d64ec808e08ad9f716047542d8ba9.tar.gz
ref-manual: Separated terms into separate chapter
Pulling out some introductory information from the old "Introduction" chapter of the ref-manual has isolated the system requirements and term definitions sections. I have decided to create a new chapter for terms as they are a reference item. This leaves system requirements also alone as a new chapter. So, I dumped the introduction.xml chapter in favor of the two new chapters. (From yocto-docs rev: 35c41b3008845c94e10be19b37409b0d1a469ff5) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/ref-system-requirements.xml')
-rw-r--r--documentation/ref-manual/ref-system-requirements.xml492
1 files changed, 492 insertions, 0 deletions
diff --git a/documentation/ref-manual/ref-system-requirements.xml b/documentation/ref-manual/ref-system-requirements.xml
new file mode 100644
index 0000000000..dfa2c2b6d1
--- /dev/null
+++ b/documentation/ref-manual/ref-system-requirements.xml
@@ -0,0 +1,492 @@
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='ref-manual-system-requirements'>
6<title>System Requirements</title>
7
8 <para>
9 Welcome to the Yocto Project Reference Manual!
10 This manual provides reference information for the current release
11 of the Yocto Project.
12 The manual is best used after you have an understanding
13 of the basics of the Yocto Project.
14 The manual is neither meant to be read as a starting point to the
15 Yocto Project nor read from start to finish.
16 Use this manual to find variable definitions, class
17 descriptions, and so forth as needed during the course of using
18 the Yocto Project.
19 </para>
20
21 <para>
22 For introductory information on the Yocto Project, see the
23 <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> and the
24 "<ulink url='&YOCTO_DOCS_OVERVIEW_URL;#overview-development-environment'>Yocto Project Development Environment</ulink>"
25 chapter in the Yocto Project Overview Manual.
26 </para>
27
28 <para>
29 If you want to use the Yocto Project to test run building an image
30 without having to understand concepts, work through the
31 <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
32 You can find "how-to" information in the
33 <ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Tasks Manual</ulink>.
34 <note><title>Tip</title>
35 For more information about the Yocto Project Documentation set,
36 see the
37 "<link linkend='resources-links-and-related-documentation'>Links and Related Documentation</link>"
38 section.
39 </note>
40 </para>
41
42 <section id='detailed-supported-distros'>
43 <title>Supported Linux Distributions</title>
44
45 <para>
46 Currently, the Yocto Project is supported on the following
47 distributions:
48 <note>
49 <para>
50 Yocto Project releases are tested against the stable Linux
51 distributions in the following list.
52 The Yocto Project should work on other distributions but
53 validation is not performed against them.
54 </para>
55
56 <para>
57 In particular, the Yocto Project does not support
58 and currently has no plans to support
59 rolling-releases or development distributions due to their
60 constantly changing nature.
61 We welcome patches and bug reports, but keep in mind that
62 our priority is on the supported platforms listed below.
63 </para>
64
65 <para>
66 If you encounter problems, please go to
67 <ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
68 and submit a bug.
69 We are interested in hearing about your experience.
70 </para>
71 </note>
72 <itemizedlist>
73<!--
74 <listitem><para>Ubuntu 10.04</para></listitem>
75 <listitem><para>Ubuntu 11.10</para></listitem>
76 <listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
77 <listitem><para>Ubuntu 13.10</para></listitem> -->
78 <listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
79 <listitem><para>Ubuntu 14.10</para></listitem>
80 <listitem><para>Ubuntu 15.04</para></listitem>
81 <listitem><para>Ubuntu 15.10</para></listitem>
82 <listitem><para>Ubuntu 16.04</para></listitem>
83<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
84 <listitem><para>Fedora 17 (Spherical)</para></listitem>
85 <listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
86 <listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
87 <listitem><para>Fedora release 22</para></listitem>
88 <listitem><para>Fedora release 23</para></listitem>
89<!-- <listitem><para>Fedora release 24</para></listitem>
90 <listitem><para>CentOS release 5.6 (Final)</para></listitem>
91 <listitem><para>CentOS release 5.7 (Final)</para></listitem>
92 <listitem><para>CentOS release 5.8 (Final)</para></listitem>
93 <listitem><para>CentOS release 6.3 (Final)</para></listitem>
94 <listitem><para>CentOS release 6.x</para></listitem> -->
95 <listitem><para>CentOS release 7.x</para></listitem>
96<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
97 <listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem> -->
98 <listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
99 <listitem><para>Debian GNU/Linux 9.x (Stretch)</para></listitem>
100<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
101 <listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
102 <listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
103 <listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
104 <listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem>
105 <listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> -->
106<!-- <listitem><para>openSUSE 11.4</para></listitem>
107 <listitem><para>openSUSE 12.1</para></listitem>
108 <listitem><para>openSUSE 12.2</para></listitem>
109 <listitem><para>openSUSE 12.3</para></listitem>
110 <listitem><para>openSUSE 13.1</para></listitem> -->
111 <listitem><para>openSUSE 13.2</para></listitem>
112 <listitem><para>openSUSE 42.1</para></listitem>
113 </itemizedlist>
114 </para>
115
116 <note>
117 While the Yocto Project Team attempts to ensure all Yocto Project
118 releases are one hundred percent compatible with each officially
119 supported Linux distribution, instances might exist where you
120 encounter a problem while using the Yocto Project on a specific
121 distribution.
122 </note>
123 </section>
124
125 <section id='required-packages-for-the-host-development-system'>
126 <title>Required Packages for the Host Development System</title>
127
128 <para>
129 The list of packages you need on the host development system can
130 be large when covering all build scenarios using the Yocto Project.
131 This section provides required packages according to
132 Linux distribution and function.
133 </para>
134
135 <section id='ubuntu-packages'>
136 <title>Ubuntu and Debian</title>
137
138 <para>
139 The following list shows the required packages by function
140 given a supported Ubuntu or Debian Linux distribution:
141 <note>
142 If your build system has the
143 <filename>oss4-dev</filename> package installed, you
144 might experience QEMU build failures due to the package
145 installing its own custom
146 <filename>/usr/include/linux/soundcard.h</filename> on
147 the Debian system.
148 If you run into this situation, either of the following
149 solutions exist:
150 <literallayout class='monospaced'>
151 $ sudo apt-get build-dep qemu
152 $ sudo apt-get remove oss4-dev
153 </literallayout>
154 </note>
155 <itemizedlist>
156 <listitem><para><emphasis>Essentials:</emphasis>
157 Packages needed to build an image on a headless
158 system:
159 <literallayout class='monospaced'>
160 $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
161 </literallayout></para></listitem>
162 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
163 Packages recommended if the host system has graphics
164 support or if you are going to use the Eclipse
165 IDE:
166 <literallayout class='monospaced'>
167 $ sudo apt-get install libsdl1.2-dev xterm
168 </literallayout></para></listitem>
169 <listitem><para><emphasis>Documentation:</emphasis>
170 Packages needed if you are going to build out the
171 Yocto Project documentation manuals:
172 <literallayout class='monospaced'>
173 $ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
174 </literallayout></para></listitem>
175 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
176 Packages needed if you are going to run
177 <filename>oe-selftest</filename>:
178 <literallayout class='monospaced'>
179 $ sudo apt-get install python-git
180 </literallayout>
181 </para></listitem>
182 </itemizedlist>
183 </para>
184 </section>
185
186 <section id='fedora-packages'>
187 <title>Fedora Packages</title>
188
189 <para>
190 The following list shows the required packages by function
191 given a supported Fedora Linux distribution:
192 <itemizedlist>
193 <listitem><para><emphasis>Essentials:</emphasis>
194 Packages needed to build an image for a headless
195 system:
196 <literallayout class='monospaced'>
197 $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
198 </literallayout></para></listitem>
199 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
200 Packages recommended if the host system has graphics
201 support or if you are going to use the Eclipse
202 IDE:
203 <literallayout class='monospaced'>
204 $ sudo dnf install SDL-devel xterm
205 </literallayout></para></listitem>
206 <listitem><para><emphasis>Documentation:</emphasis>
207 Packages needed if you are going to build out the
208 Yocto Project documentation manuals:
209 <literallayout class='monospaced'>
210 $ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
211 docbook-dtds docbook-utils fop libxslt dblatex xmlto
212 </literallayout></para></listitem>
213 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
214 Packages needed if you are going to run
215 <filename>oe-selftest</filename>:
216 <literallayout class='monospaced'>
217 $ sudo dnf install python3-GitPython
218 </literallayout>
219 </para></listitem>
220 </itemizedlist>
221 </para>
222 </section>
223
224 <section id='opensuse-packages'>
225 <title>openSUSE Packages</title>
226
227 <para>
228 The following list shows the required packages by function
229 given a supported openSUSE Linux distribution:
230 <itemizedlist>
231 <listitem><para><emphasis>Essentials:</emphasis>
232 Packages needed to build an image for a headless
233 system:
234 <literallayout class='monospaced'>
235 $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
236 </literallayout></para></listitem>
237 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
238 Packages recommended if the host system has graphics
239 support or if you are going to use the Eclipse
240 IDE:
241 <literallayout class='monospaced'>
242 $ sudo zypper install libSDL-devel xterm
243 </literallayout></para></listitem>
244 <listitem><para><emphasis>Documentation:</emphasis>
245 Packages needed if you are going to build out the
246 Yocto Project documentation manuals:
247 <literallayout class='monospaced'>
248 $ sudo zypper install make dblatex xmlto
249 </literallayout></para></listitem>
250 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
251 Packages needed if you are going to run
252 <filename>oe-selftest</filename>:
253 <literallayout class='monospaced'>
254 $ sudo zypper install python-GitPython
255 </literallayout></para></listitem>
256 </itemizedlist>
257 <note>
258 Sanity testing, through the
259 <link linkend='ref-classes-testimage*'>testimage</link>
260 classes, does not work on systems using the
261 <ulink url='https://en.opensuse.org/Portal:Wicked'>Wicked</ulink>
262 network manager.
263 </note>
264 </para>
265 </section>
266
267 <section id='centos-packages'>
268 <title>CentOS Packages</title>
269
270 <para>
271 The following list shows the required packages by function
272 given a supported CentOS Linux distribution:
273 <note>
274 For CentOS 6.x, some of the versions of the components
275 provided by the distribution are too old (e.g. Git, Python,
276 and tar).
277 It is recommended that you install the buildtools in order
278 to provide versions that will work with the OpenEmbedded
279 build system.
280 For information on how to install the buildtools tarball,
281 see the
282 "<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>"
283 section.
284 </note>
285 <itemizedlist>
286 <listitem><para><emphasis>Essentials:</emphasis>
287 Packages needed to build an image for a headless
288 system:
289 <literallayout class='monospaced'>
290 $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
291 </literallayout>
292 <note><title>Notes</title>
293 <itemizedlist>
294 <listitem><para>
295 Extra Packages for Enterprise Linux
296 (i.e. <filename>epel-release</filename>)
297 is a collection of packages from Fedora
298 built on RHEL/CentOS for easy installation
299 of packages not included in enterprise
300 Linux by default.
301 You need to install these packages
302 separately.
303 </para></listitem>
304 <listitem><para>
305 The <filename>makecache</filename> command
306 consumes additional Metadata from
307 <filename>epel-release</filename>.
308 </para></listitem>
309 </itemizedlist>
310 </note>
311 </para></listitem>
312 <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
313 Packages recommended if the host system has graphics
314 support or if you are going to use the Eclipse
315 IDE:
316 <literallayout class='monospaced'>
317 $ sudo yum install SDL-devel xterm
318 </literallayout></para></listitem>
319 <listitem><para><emphasis>Documentation:</emphasis>
320 Packages needed if you are going to build out the
321 Yocto Project documentation manuals:
322 <literallayout class='monospaced'>
323 $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
324 docbook-dtds docbook-utils fop libxslt dblatex xmlto
325 </literallayout></para></listitem>
326 <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
327 Packages needed if you are going to run
328 <filename>oe-selftest</filename>:
329 <literallayout class='monospaced'>
330 $ sudo yum install GitPython
331 </literallayout>
332 </para></listitem>
333 </itemizedlist>
334 </para>
335 </section>
336 </section>
337
338 <section id='required-git-tar-and-python-versions'>
339 <title>Required Git, tar, and Python Versions</title>
340
341 <para>
342 In order to use the build system, your host development system
343 must meet the following version requirements for Git, tar, and
344 Python:
345 <itemizedlist>
346 <listitem><para>Git 1.8.3.1 or greater</para></listitem>
347 <listitem><para>tar 1.27 or greater</para></listitem>
348 <listitem><para>Python 3.4.0 or greater</para></listitem>
349 </itemizedlist>
350 </para>
351
352 <para>
353 If your host development system does not meet all these requirements,
354 you can resolve this by installing a <filename>buildtools</filename>
355 tarball that contains these tools.
356 You can get the tarball one of two ways: download a pre-built
357 tarball or use BitBake to build the tarball.
358 </para>
359
360 <section id='downloading-a-pre-built-buildtools-tarball'>
361 <title>Downloading a Pre-Built <filename>buildtools</filename> Tarball</title>
362
363 <para>
364 Downloading and running a pre-built buildtools installer is
365 the easiest of the two methods by which you can get these tools:
366 <orderedlist>
367 <listitem><para>
368 Locate and download the <filename>*.sh</filename> at
369 <ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/buildtools/'></ulink>.
370 </para></listitem>
371 <listitem><para>
372 Execute the installation script.
373 Here is an example:
374 <literallayout class='monospaced'>
375 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
376 </literallayout>
377 During execution, a prompt appears that allows you to
378 choose the installation directory.
379 For example, you could choose the following:
380 <literallayout class='monospaced'>
381 /home/<replaceable>your-username</replaceable>/buildtools
382 </literallayout>
383 </para></listitem>
384 <listitem><para>
385 Source the tools environment setup script by using a
386 command like the following:
387 <literallayout class='monospaced'>
388 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
389 </literallayout>
390 Of course, you need to supply your installation directory and be
391 sure to use the right file (i.e. i585 or x86-64).
392 </para>
393 <para>
394 After you have sourced the setup script,
395 the tools are added to <filename>PATH</filename>
396 and any other environment variables required to run the
397 tools are initialized.
398 The results are working versions versions of Git, tar,
399 Python and <filename>chrpath</filename>.
400 </para></listitem>
401 </orderedlist>
402 </para>
403 </section>
404
405 <section id='building-your-own-buildtools-tarball'>
406 <title>Building Your Own <filename>buildtools</filename> Tarball</title>
407
408 <para>
409 Building and running your own buildtools installer applies
410 only when you have a build host that can already run BitBake.
411 In this case, you use that machine to build the
412 <filename>.sh</filename> file and then
413 take steps to transfer and run it on a
414 machine that does not meet the minimal Git, tar, and Python
415 requirements.
416 </para>
417
418 <para>
419 Here are the steps to take to build and run your own
420 buildtools installer:
421 <orderedlist>
422 <listitem><para>
423 On the machine that is able to run BitBake,
424 be sure you have set up your build environment with
425 the setup script
426 (<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>).
427 </para></listitem>
428 <listitem><para>
429 Run the BitBake command to build the tarball:
430 <literallayout class='monospaced'>
431 $ bitbake buildtools-tarball
432 </literallayout>
433 <note>
434 The
435 <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>
436 variable in your <filename>local.conf</filename> file
437 determines whether you build tools for a 32-bit
438 or 64-bit system.
439 </note>
440 Once the build completes, you can find the
441 <filename>.sh</filename> file that installs
442 the tools in the <filename>tmp/deploy/sdk</filename>
443 subdirectory of the
444 <link linkend='build-directory'>Build Directory</link>.
445 The installer file has the string "buildtools"
446 in the name.
447 </para></listitem>
448 <listitem><para>
449 Transfer the <filename>.sh</filename> file from the
450 build host to the machine that does not meet the
451 Git, tar, or Python requirements.
452 </para></listitem>
453 <listitem><para>
454 On the machine that does not meet the requirements,
455 run the <filename>.sh</filename> file
456 to install the tools.
457 Here is an example:
458 <literallayout class='monospaced'>
459 $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
460 </literallayout>
461 During execution, a prompt appears that allows you to
462 choose the installation directory.
463 For example, you could choose the following:
464 <literallayout class='monospaced'>
465 /home/<replaceable>your_username</replaceable>/buildtools
466 </literallayout>
467 </para></listitem>
468 <listitem><para>
469 Source the tools environment setup script by using a
470 command like the following:
471 <literallayout class='monospaced'>
472 $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
473 </literallayout>
474 Of course, you need to supply your installation directory and be
475 sure to use the right file (i.e. i585 or x86-64).
476 </para>
477 <para>
478 After you have sourced the setup script,
479 the tools are added to <filename>PATH</filename>
480 and any other environment variables required to run the
481 tools are initialized.
482 The results are working versions versions of Git, tar,
483 Python and <filename>chrpath</filename>.
484 </para></listitem>
485 </orderedlist>
486 </para>
487 </section>
488 </section>
489</chapter>
490<!--
491vim: expandtab tw=80 ts=4
492-->