2012-12-11 18:07:58 +00:00
|
|
|
<!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='intro'>
|
|
|
|
<title>Introduction</title>
|
|
|
|
|
|
|
|
<section id='intro-welcome'>
|
|
|
|
<title>Introduction</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
This manual provides reference information for the current release of the Yocto Project.
|
|
|
|
The Yocto Project is an open-source collaboration project focused on embedded Linux
|
|
|
|
developers.
|
|
|
|
Amongst other things, the Yocto Project uses the OpenEmbedded build system, which
|
|
|
|
is based on the Poky project, to construct complete Linux images.
|
|
|
|
You can find complete introductory and getting started information on the Yocto Project
|
|
|
|
by reading the
|
|
|
|
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
|
|
|
|
For task-based information using the Yocto Project, see the
|
2013-01-25 20:49:29 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Manual</ulink>
|
|
|
|
and the <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>.
|
2013-03-26 16:35:59 +00:00
|
|
|
For Board Support Package (BSP) structure information, see the
|
|
|
|
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>.
|
|
|
|
You can also find lots of Yocto Project information on the
|
2012-12-11 18:07:58 +00:00
|
|
|
<ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id='intro-manualoverview'>
|
|
|
|
<title>Documentation Overview</title>
|
|
|
|
<para>
|
|
|
|
This reference manual consists of the following:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para><emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
<link linkend='usingpoky'>Using the Yocto Project</link>:</emphasis>
|
|
|
|
Provides an overview of the components that make up the Yocto Project
|
2012-12-11 18:07:58 +00:00
|
|
|
followed by information about debugging images created in the Yocto Project.
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='technical-details'>Technical Details</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Describes fundamental Yocto Project components as well as an explanation
|
2012-12-11 18:07:58 +00:00
|
|
|
behind how the Yocto Project uses shared state (sstate) cache to speed build time.
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='ref-structure'>Directory Structure</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Describes the
|
2013-03-26 16:38:22 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> created
|
2012-12-11 18:07:58 +00:00
|
|
|
either by unpacking a released Yocto Project tarball on your host development system,
|
|
|
|
or by cloning the upstream
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink> Git repository.
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='ref-bitbake'>BitBake</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Provides an overview of the BitBake tool and its role within
|
2012-12-11 18:07:58 +00:00
|
|
|
the Yocto Project.</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='ref-classes'>Classes</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Describes the classes used in the Yocto Project.</para></listitem>
|
2012-12-11 18:07:58 +00:00
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='ref-images'>Images</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Describes the standard images that the Yocto Project supports.
|
2012-12-11 18:07:58 +00:00
|
|
|
</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='ref-features'>Features</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Describes mechanisms for creating distribution, machine, and image
|
2012-12-11 18:07:58 +00:00
|
|
|
features during the build process using the OpenEmbedded build system.</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='ref-variables-glos'>Variables Glossary</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Presents most variables used by the OpenEmbedded build system, which
|
2013-03-26 16:44:37 +00:00
|
|
|
uses BitBake.
|
2012-12-11 18:07:58 +00:00
|
|
|
Entries describe the function of the variable and how to apply them.
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='ref-varlocality'>Variable Context</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Provides variable locality or context.</para></listitem>
|
2012-12-11 18:07:58 +00:00
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='faq'>FAQ</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Provides answers for commonly asked questions in the Yocto Project
|
2012-12-11 18:07:58 +00:00
|
|
|
development environment.</para></listitem>
|
|
|
|
<listitem><para><emphasis>
|
|
|
|
<link linkend='resources'>Contributing to the Yocto Project</link>:</emphasis>
|
2013-03-26 16:43:08 +00:00
|
|
|
Provides guidance on how you can contribute back to the Yocto
|
2012-12-11 18:07:58 +00:00
|
|
|
Project.</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section id='intro-requirements'>
|
|
|
|
<title>System Requirements</title>
|
|
|
|
<para>
|
|
|
|
For general Yocto Project system requirements, see the
|
|
|
|
"<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>What You Need and How You Get It</ulink>" section
|
|
|
|
in the Yocto Project Quick Start.
|
|
|
|
The remainder of this section provides details on system requirements
|
|
|
|
not covered in the Yocto Project Quick Start.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<section id='detailed-supported-distros'>
|
|
|
|
<title>Supported Linux Distributions</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Currently, the Yocto Project is supported on the following distributions:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>Ubuntu 10.04.4 LTS</para></listitem>
|
|
|
|
<listitem><para>Ubuntu 11.10</para></listitem>
|
|
|
|
<listitem><para>Ubuntu 12.04.1 LTS</para></listitem>
|
|
|
|
<listitem><para>Ubuntu 12.04.1 LTS</para></listitem>
|
|
|
|
<listitem><para>Ubuntu 12.10</para></listitem>
|
|
|
|
<listitem><para>Fedora release 16 (Verne)</para></listitem>
|
|
|
|
<listitem><para>Fedora release 17 (Beefy Miracle)</para></listitem>
|
|
|
|
<listitem><para>Fedora release 18 (Spherical Cow)</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>Debian GNU/Linux 6.0.6 (squeeze)</para></listitem>
|
|
|
|
<listitem><para>openSUSE 11.4</para></listitem>
|
|
|
|
<listitem><para>openSUSE 12.1</para></listitem>
|
|
|
|
<listitem><para>openSUSE 12.2</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<note>
|
|
|
|
For additional information on distributions that support the
|
|
|
|
Yocto Project, see the
|
|
|
|
<ulink url='&YOCTO_WIKI_URL;/wiki/Distribution_Support'>Distribution Support</ulink> wiki page.
|
|
|
|
</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.
|
2013-03-26 16:50:07 +00:00
|
|
|
This section provides required packages according to
|
|
|
|
Linux distribution and function.
|
2012-12-11 18:07:58 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<section id='ubuntu-packages'>
|
|
|
|
<title>Ubuntu</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
The following list shows the required packages by function
|
|
|
|
given a supported Ubuntu Linux distribution:
|
|
|
|
<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 Extras:</emphasis>
|
|
|
|
Packages recommended if the host system has graphics support:
|
|
|
|
<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
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
|
|
|
Packages needed if you are going to be using the
|
|
|
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
$ sudo apt-get install autoconf automake libtool libglib2.0-dev
|
|
|
|
</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 yum install &FEDORA_HOST_PACKAGES_ESSENTIAL;
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
<listitem><para><emphasis>Graphical Extras:</emphasis>
|
|
|
|
Packages recommended if the host system has graphics support:
|
|
|
|
<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
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
|
|
|
Packages needed if you are going to be using the
|
|
|
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
$ sudo yum install autoconf automake libtool glib2-devel
|
|
|
|
</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 Extras:</emphasis>
|
|
|
|
Packages recommended if the host system has graphics support:
|
|
|
|
<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 fop xsltproc
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
|
|
|
Packages needed if you are going to be using the
|
|
|
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
$ sudo zypper install autoconf automake libtool glib2-devel
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</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:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para><emphasis>Essentials:</emphasis>
|
|
|
|
Packages needed to build an image for a headless
|
|
|
|
system:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
$ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL;
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
<listitem><para><emphasis>Graphical Extras:</emphasis>
|
|
|
|
Packages recommended if the host system has graphics support:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
$ sudo yum -y 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 -y install make docbook-style-dsssl docbook-style-xsl \
|
|
|
|
docbook-dtds docbook-utils fop libxslt
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
|
|
|
Packages needed if you are going to be using the
|
|
|
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
$ sudo yum -y install autoconf automake libtool glib2-devel
|
|
|
|
</literallayout></para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<note>Depending on the CentOS version you are using, other requirements
|
|
|
|
and dependencies might exist.
|
|
|
|
For details, you should look at the CentOS sections on the
|
|
|
|
<ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
|
|
|
|
wiki page.</note>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id='intro-getit'>
|
|
|
|
<title>Obtaining the Yocto Project</title>
|
|
|
|
<para>
|
|
|
|
The Yocto Project development team makes the Yocto Project available through a number
|
|
|
|
of methods:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para><emphasis>Releases:</emphasis> Stable, tested releases are available through
|
|
|
|
<ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
|
|
|
|
<listitem><para><emphasis>Nightly Builds:</emphasis> These releases are available at
|
|
|
|
<ulink url='http://autobuilder.yoctoproject.org/nightly'/>.
|
|
|
|
These builds include Yocto Project releases, meta-toolchain tarball installation scripts, and
|
|
|
|
experimental builds.</para></listitem>
|
|
|
|
<listitem><para><emphasis>Yocto Project Website:</emphasis> You can find releases
|
|
|
|
of the Yocto Project and supported BSPs at the
|
|
|
|
<ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>.
|
|
|
|
Along with these downloads, you can find lots of other information at this site.
|
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id='intro-getit-dev'>
|
|
|
|
<title>Development Checkouts</title>
|
|
|
|
<para>
|
|
|
|
Development using the Yocto Project requires a local
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
|
2013-03-26 16:38:22 +00:00
|
|
|
You can set up the Source Directory by downloading a Yocto Project release tarball and unpacking it,
|
2012-12-11 18:07:58 +00:00
|
|
|
or by cloning a copy of the upstream
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink> Git repository.
|
|
|
|
For information on both these methods, see the
|
2013-03-26 16:54:20 +00:00
|
|
|
"<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Set Up</ulink>"
|
2012-12-11 18:07:58 +00:00
|
|
|
section in the Yocto Project Development Manual.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</chapter>
|
|
|
|
<!--
|
|
|
|
vim: expandtab tw=80 ts=4
|
|
|
|
-->
|