mirror of
https://git.yoctoproject.org/poky
synced 2026-04-30 21:32:13 +02:00
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>
This commit is contained in:
committed by
Richard Purdie
parent
c06a654c1d
commit
60cfd0785b
492
documentation/ref-manual/ref-system-requirements.xml
Normal file
492
documentation/ref-manual/ref-system-requirements.xml
Normal file
@@ -0,0 +1,492 @@
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
|
||||
|
||||
<chapter id='ref-manual-system-requirements'>
|
||||
<title>System Requirements</title>
|
||||
|
||||
<para>
|
||||
Welcome to the Yocto Project Reference Manual!
|
||||
This manual provides reference information for the current release
|
||||
of the Yocto Project.
|
||||
The manual is best used after you have an understanding
|
||||
of the basics of the Yocto Project.
|
||||
The manual is neither meant to be read as a starting point to the
|
||||
Yocto Project nor read from start to finish.
|
||||
Use this manual to find variable definitions, class
|
||||
descriptions, and so forth as needed during the course of using
|
||||
the Yocto Project.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For introductory information on the Yocto Project, see the
|
||||
<ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> and the
|
||||
"<ulink url='&YOCTO_DOCS_OVERVIEW_URL;#overview-development-environment'>Yocto Project Development Environment</ulink>"
|
||||
chapter in the Yocto Project Overview Manual.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you want to use the Yocto Project to test run building an image
|
||||
without having to understand concepts, work through the
|
||||
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
|
||||
You can find "how-to" information in the
|
||||
<ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Tasks Manual</ulink>.
|
||||
<note><title>Tip</title>
|
||||
For more information about the Yocto Project Documentation set,
|
||||
see the
|
||||
"<link linkend='resources-links-and-related-documentation'>Links and Related Documentation</link>"
|
||||
section.
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<section id='detailed-supported-distros'>
|
||||
<title>Supported Linux Distributions</title>
|
||||
|
||||
<para>
|
||||
Currently, the Yocto Project is supported on the following
|
||||
distributions:
|
||||
<note>
|
||||
<para>
|
||||
Yocto Project releases are tested against the stable Linux
|
||||
distributions in the following list.
|
||||
The Yocto Project should work on other distributions but
|
||||
validation is not performed against them.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In particular, the Yocto Project does not support
|
||||
and currently has no plans to support
|
||||
rolling-releases or development distributions due to their
|
||||
constantly changing nature.
|
||||
We welcome patches and bug reports, but keep in mind that
|
||||
our priority is on the supported platforms listed below.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you encounter problems, please go to
|
||||
<ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
|
||||
and submit a bug.
|
||||
We are interested in hearing about your experience.
|
||||
</para>
|
||||
</note>
|
||||
<itemizedlist>
|
||||
<!--
|
||||
<listitem><para>Ubuntu 10.04</para></listitem>
|
||||
<listitem><para>Ubuntu 11.10</para></listitem>
|
||||
<listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
|
||||
<listitem><para>Ubuntu 13.10</para></listitem> -->
|
||||
<listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
|
||||
<listitem><para>Ubuntu 14.10</para></listitem>
|
||||
<listitem><para>Ubuntu 15.04</para></listitem>
|
||||
<listitem><para>Ubuntu 15.10</para></listitem>
|
||||
<listitem><para>Ubuntu 16.04</para></listitem>
|
||||
<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
|
||||
<listitem><para>Fedora 17 (Spherical)</para></listitem>
|
||||
<listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
|
||||
<listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
|
||||
<listitem><para>Fedora release 22</para></listitem>
|
||||
<listitem><para>Fedora release 23</para></listitem>
|
||||
<!-- <listitem><para>Fedora release 24</para></listitem>
|
||||
<listitem><para>CentOS release 5.6 (Final)</para></listitem>
|
||||
<listitem><para>CentOS release 5.7 (Final)</para></listitem>
|
||||
<listitem><para>CentOS release 5.8 (Final)</para></listitem>
|
||||
<listitem><para>CentOS release 6.3 (Final)</para></listitem>
|
||||
<listitem><para>CentOS release 6.x</para></listitem> -->
|
||||
<listitem><para>CentOS release 7.x</para></listitem>
|
||||
<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
|
||||
<listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem> -->
|
||||
<listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
|
||||
<listitem><para>Debian GNU/Linux 9.x (Stretch)</para></listitem>
|
||||
<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
|
||||
<listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
|
||||
<listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
|
||||
<listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
|
||||
<listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem>
|
||||
<listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> -->
|
||||
<!-- <listitem><para>openSUSE 11.4</para></listitem>
|
||||
<listitem><para>openSUSE 12.1</para></listitem>
|
||||
<listitem><para>openSUSE 12.2</para></listitem>
|
||||
<listitem><para>openSUSE 12.3</para></listitem>
|
||||
<listitem><para>openSUSE 13.1</para></listitem> -->
|
||||
<listitem><para>openSUSE 13.2</para></listitem>
|
||||
<listitem><para>openSUSE 42.1</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<note>
|
||||
While the Yocto Project Team attempts to ensure all Yocto Project
|
||||
releases are one hundred percent compatible with each officially
|
||||
supported Linux distribution, instances might exist where you
|
||||
encounter a problem while using the Yocto Project on a specific
|
||||
distribution.
|
||||
</note>
|
||||
</section>
|
||||
|
||||
<section id='required-packages-for-the-host-development-system'>
|
||||
<title>Required Packages for the Host Development System</title>
|
||||
|
||||
<para>
|
||||
The list of packages you need on the host development system can
|
||||
be large when covering all build scenarios using the Yocto Project.
|
||||
This section provides required packages according to
|
||||
Linux distribution and function.
|
||||
</para>
|
||||
|
||||
<section id='ubuntu-packages'>
|
||||
<title>Ubuntu and Debian</title>
|
||||
|
||||
<para>
|
||||
The following list shows the required packages by function
|
||||
given a supported Ubuntu or Debian Linux distribution:
|
||||
<note>
|
||||
If your build system has the
|
||||
<filename>oss4-dev</filename> package installed, you
|
||||
might experience QEMU build failures due to the package
|
||||
installing its own custom
|
||||
<filename>/usr/include/linux/soundcard.h</filename> on
|
||||
the Debian system.
|
||||
If you run into this situation, either of the following
|
||||
solutions exist:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo apt-get build-dep qemu
|
||||
$ sudo apt-get remove oss4-dev
|
||||
</literallayout>
|
||||
</note>
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis>Essentials:</emphasis>
|
||||
Packages needed to build an image on a headless
|
||||
system:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
|
||||
Packages recommended if the host system has graphics
|
||||
support or if you are going to use the Eclipse
|
||||
IDE:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo apt-get install libsdl1.2-dev xterm
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>Documentation:</emphasis>
|
||||
Packages needed if you are going to build out the
|
||||
Yocto Project documentation manuals:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
|
||||
Packages needed if you are going to run
|
||||
<filename>oe-selftest</filename>:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo apt-get install python-git
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='fedora-packages'>
|
||||
<title>Fedora Packages</title>
|
||||
|
||||
<para>
|
||||
The following list shows the required packages by function
|
||||
given a supported Fedora Linux distribution:
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis>Essentials:</emphasis>
|
||||
Packages needed to build an image for a headless
|
||||
system:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
|
||||
Packages recommended if the host system has graphics
|
||||
support or if you are going to use the Eclipse
|
||||
IDE:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo dnf install SDL-devel xterm
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>Documentation:</emphasis>
|
||||
Packages needed if you are going to build out the
|
||||
Yocto Project documentation manuals:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
|
||||
docbook-dtds docbook-utils fop libxslt dblatex xmlto
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
|
||||
Packages needed if you are going to run
|
||||
<filename>oe-selftest</filename>:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo dnf install python3-GitPython
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='opensuse-packages'>
|
||||
<title>openSUSE Packages</title>
|
||||
|
||||
<para>
|
||||
The following list shows the required packages by function
|
||||
given a supported openSUSE Linux distribution:
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis>Essentials:</emphasis>
|
||||
Packages needed to build an image for a headless
|
||||
system:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
|
||||
Packages recommended if the host system has graphics
|
||||
support or if you are going to use the Eclipse
|
||||
IDE:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo zypper install libSDL-devel xterm
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>Documentation:</emphasis>
|
||||
Packages needed if you are going to build out the
|
||||
Yocto Project documentation manuals:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo zypper install make dblatex xmlto
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
|
||||
Packages needed if you are going to run
|
||||
<filename>oe-selftest</filename>:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo zypper install python-GitPython
|
||||
</literallayout></para></listitem>
|
||||
</itemizedlist>
|
||||
<note>
|
||||
Sanity testing, through the
|
||||
<link linkend='ref-classes-testimage*'>testimage</link>
|
||||
classes, does not work on systems using the
|
||||
<ulink url='https://en.opensuse.org/Portal:Wicked'>Wicked</ulink>
|
||||
network manager.
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='centos-packages'>
|
||||
<title>CentOS Packages</title>
|
||||
|
||||
<para>
|
||||
The following list shows the required packages by function
|
||||
given a supported CentOS Linux distribution:
|
||||
<note>
|
||||
For CentOS 6.x, some of the versions of the components
|
||||
provided by the distribution are too old (e.g. Git, Python,
|
||||
and tar).
|
||||
It is recommended that you install the buildtools in order
|
||||
to provide versions that will work with the OpenEmbedded
|
||||
build system.
|
||||
For information on how to install the buildtools tarball,
|
||||
see the
|
||||
"<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>"
|
||||
section.
|
||||
</note>
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis>Essentials:</emphasis>
|
||||
Packages needed to build an image for a headless
|
||||
system:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
|
||||
</literallayout>
|
||||
<note><title>Notes</title>
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
Extra Packages for Enterprise Linux
|
||||
(i.e. <filename>epel-release</filename>)
|
||||
is a collection of packages from Fedora
|
||||
built on RHEL/CentOS for easy installation
|
||||
of packages not included in enterprise
|
||||
Linux by default.
|
||||
You need to install these packages
|
||||
separately.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
The <filename>makecache</filename> command
|
||||
consumes additional Metadata from
|
||||
<filename>epel-release</filename>.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</note>
|
||||
</para></listitem>
|
||||
<listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
|
||||
Packages recommended if the host system has graphics
|
||||
support or if you are going to use the Eclipse
|
||||
IDE:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo yum install SDL-devel xterm
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>Documentation:</emphasis>
|
||||
Packages needed if you are going to build out the
|
||||
Yocto Project documentation manuals:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo yum install make docbook-style-dsssl docbook-style-xsl \
|
||||
docbook-dtds docbook-utils fop libxslt dblatex xmlto
|
||||
</literallayout></para></listitem>
|
||||
<listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
|
||||
Packages needed if you are going to run
|
||||
<filename>oe-selftest</filename>:
|
||||
<literallayout class='monospaced'>
|
||||
$ sudo yum install GitPython
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id='required-git-tar-and-python-versions'>
|
||||
<title>Required Git, tar, and Python Versions</title>
|
||||
|
||||
<para>
|
||||
In order to use the build system, your host development system
|
||||
must meet the following version requirements for Git, tar, and
|
||||
Python:
|
||||
<itemizedlist>
|
||||
<listitem><para>Git 1.8.3.1 or greater</para></listitem>
|
||||
<listitem><para>tar 1.27 or greater</para></listitem>
|
||||
<listitem><para>Python 3.4.0 or greater</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If your host development system does not meet all these requirements,
|
||||
you can resolve this by installing a <filename>buildtools</filename>
|
||||
tarball that contains these tools.
|
||||
You can get the tarball one of two ways: download a pre-built
|
||||
tarball or use BitBake to build the tarball.
|
||||
</para>
|
||||
|
||||
<section id='downloading-a-pre-built-buildtools-tarball'>
|
||||
<title>Downloading a Pre-Built <filename>buildtools</filename> Tarball</title>
|
||||
|
||||
<para>
|
||||
Downloading and running a pre-built buildtools installer is
|
||||
the easiest of the two methods by which you can get these tools:
|
||||
<orderedlist>
|
||||
<listitem><para>
|
||||
Locate and download the <filename>*.sh</filename> at
|
||||
<ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/buildtools/'></ulink>.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Execute the installation script.
|
||||
Here is an example:
|
||||
<literallayout class='monospaced'>
|
||||
$ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
|
||||
</literallayout>
|
||||
During execution, a prompt appears that allows you to
|
||||
choose the installation directory.
|
||||
For example, you could choose the following:
|
||||
<literallayout class='monospaced'>
|
||||
/home/<replaceable>your-username</replaceable>/buildtools
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Source the tools environment setup script by using a
|
||||
command like the following:
|
||||
<literallayout class='monospaced'>
|
||||
$ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
|
||||
</literallayout>
|
||||
Of course, you need to supply your installation directory and be
|
||||
sure to use the right file (i.e. i585 or x86-64).
|
||||
</para>
|
||||
<para>
|
||||
After you have sourced the setup script,
|
||||
the tools are added to <filename>PATH</filename>
|
||||
and any other environment variables required to run the
|
||||
tools are initialized.
|
||||
The results are working versions versions of Git, tar,
|
||||
Python and <filename>chrpath</filename>.
|
||||
</para></listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='building-your-own-buildtools-tarball'>
|
||||
<title>Building Your Own <filename>buildtools</filename> Tarball</title>
|
||||
|
||||
<para>
|
||||
Building and running your own buildtools installer applies
|
||||
only when you have a build host that can already run BitBake.
|
||||
In this case, you use that machine to build the
|
||||
<filename>.sh</filename> file and then
|
||||
take steps to transfer and run it on a
|
||||
machine that does not meet the minimal Git, tar, and Python
|
||||
requirements.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Here are the steps to take to build and run your own
|
||||
buildtools installer:
|
||||
<orderedlist>
|
||||
<listitem><para>
|
||||
On the machine that is able to run BitBake,
|
||||
be sure you have set up your build environment with
|
||||
the setup script
|
||||
(<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>).
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Run the BitBake command to build the tarball:
|
||||
<literallayout class='monospaced'>
|
||||
$ bitbake buildtools-tarball
|
||||
</literallayout>
|
||||
<note>
|
||||
The
|
||||
<link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>
|
||||
variable in your <filename>local.conf</filename> file
|
||||
determines whether you build tools for a 32-bit
|
||||
or 64-bit system.
|
||||
</note>
|
||||
Once the build completes, you can find the
|
||||
<filename>.sh</filename> file that installs
|
||||
the tools in the <filename>tmp/deploy/sdk</filename>
|
||||
subdirectory of the
|
||||
<link linkend='build-directory'>Build Directory</link>.
|
||||
The installer file has the string "buildtools"
|
||||
in the name.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Transfer the <filename>.sh</filename> file from the
|
||||
build host to the machine that does not meet the
|
||||
Git, tar, or Python requirements.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
On the machine that does not meet the requirements,
|
||||
run the <filename>.sh</filename> file
|
||||
to install the tools.
|
||||
Here is an example:
|
||||
<literallayout class='monospaced'>
|
||||
$ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
|
||||
</literallayout>
|
||||
During execution, a prompt appears that allows you to
|
||||
choose the installation directory.
|
||||
For example, you could choose the following:
|
||||
<literallayout class='monospaced'>
|
||||
/home/<replaceable>your_username</replaceable>/buildtools
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Source the tools environment setup script by using a
|
||||
command like the following:
|
||||
<literallayout class='monospaced'>
|
||||
$ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
|
||||
</literallayout>
|
||||
Of course, you need to supply your installation directory and be
|
||||
sure to use the right file (i.e. i585 or x86-64).
|
||||
</para>
|
||||
<para>
|
||||
After you have sourced the setup script,
|
||||
the tools are added to <filename>PATH</filename>
|
||||
and any other environment variables required to run the
|
||||
tools are initialized.
|
||||
The results are working versions versions of Git, tar,
|
||||
Python and <filename>chrpath</filename>.
|
||||
</para></listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
||||
<!--
|
||||
vim: expandtab tw=80 ts=4
|
||||
-->
|
||||
Reference in New Issue
Block a user