2011-07-15 14:29:18 +00:00
|
|
|
|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
2012-03-09 19:40:39 +00:00
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
|
|
|
|
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
|
2011-07-15 14:29:18 +00:00
|
|
|
|
|
|
|
|
|
<chapter id='dev-manual-start'>
|
|
|
|
|
|
|
|
|
|
<title>Getting Started with the Yocto Project</title>
|
|
|
|
|
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<para>
|
|
|
|
|
This chapter introduces the Yocto Project and gives you an idea of what you need to get started.
|
2011-09-19 17:16:24 +00:00
|
|
|
|
You can find enough information to set up your development host and build or use images for
|
|
|
|
|
hardware supported by the Yocto Project by reading
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_DOCS_QS_URL;'>
|
2011-09-19 17:16:24 +00:00
|
|
|
|
The Yocto Project Quick Start</ulink>.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
The remainder of this chapter summarizes what is in the Yocto Project Quick Start and provides
|
2011-09-19 17:16:24 +00:00
|
|
|
|
some higher-level concepts you might want to consider.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<section id='introducing-the-yocto-project'>
|
|
|
|
|
<title>Introducing the Yocto Project</title>
|
|
|
|
|
|
2011-07-15 14:29:18 +00:00
|
|
|
|
<para>
|
2011-08-11 20:55:07 +00:00
|
|
|
|
The Yocto Project is an open-source collaboration project focused on embedded Linux development.
|
2011-09-19 17:16:24 +00:00
|
|
|
|
The project currently provides a build system, which is sometimes referred to as "Poky",
|
|
|
|
|
and provides various ancillary tools suitable for the embedded developer.
|
2011-08-16 16:17:55 +00:00
|
|
|
|
The Yocto Project also features the Sato reference User Interface, which is optimized for
|
|
|
|
|
stylus driven, low-resolution screens.
|
2011-07-15 14:29:18 +00:00
|
|
|
|
</para>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
|
2011-07-15 14:29:18 +00:00
|
|
|
|
<para>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
You can use the Yocto Project, which uses the BitBake build tool, to develop complete Linux
|
2011-08-16 16:17:55 +00:00
|
|
|
|
images and associated user-space applications for architectures based on ARM, MIPS, PowerPC,
|
|
|
|
|
x86 and x86-64.
|
2011-09-13 17:10:19 +00:00
|
|
|
|
While the Yocto Project does not provide a strict testing framework,
|
|
|
|
|
it does provide or generate for you artifacts that let you perform target-level and
|
|
|
|
|
emulated testing and debugging.
|
2011-11-02 20:05:20 +00:00
|
|
|
|
Additionally, if you are an <trademark class='trade'>Eclipse</trademark>
|
2011-09-23 15:06:24 +00:00
|
|
|
|
IDE user, you can install an Eclipse Yocto Plug-in to allow you to
|
2011-07-15 16:23:55 +00:00
|
|
|
|
develop within that familiar environment.
|
2011-07-15 14:29:18 +00:00
|
|
|
|
</para>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<section id='getting-setup'>
|
2011-11-10 21:28:32 +00:00
|
|
|
|
<title>Getting Set Up</title>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
|
2011-07-15 14:29:18 +00:00
|
|
|
|
<para>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
Here is what you need to get set up to use the Yocto Project:
|
2011-07-15 14:29:18 +00:00
|
|
|
|
<itemizedlist>
|
2011-08-16 16:17:55 +00:00
|
|
|
|
<listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current
|
|
|
|
|
Linux-based host system.
|
|
|
|
|
You will have the best results with a recent release of Fedora,
|
2011-09-19 17:16:24 +00:00
|
|
|
|
OpenSUSE, or Ubuntu as these releases are frequently tested against the Yocto Project
|
|
|
|
|
and officially supported.
|
2011-08-11 20:55:07 +00:00
|
|
|
|
You should also have about 100 gigabytes of free disk space for building images.
|
|
|
|
|
</para></listitem>
|
|
|
|
|
<listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
|
2011-08-16 16:17:55 +00:00
|
|
|
|
exist on your development system (e.g. Python 2.6 or 2.7).
|
2012-03-09 19:40:39 +00:00
|
|
|
|
See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
|
2011-09-19 17:16:24 +00:00
|
|
|
|
section in the Yocto Project Quick start for the exact package
|
|
|
|
|
requirements and the installation commands to install them
|
|
|
|
|
for the supported distributions.</para></listitem>
|
2011-08-02 19:58:44 +00:00
|
|
|
|
<listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
|
|
|
|
|
You need a release of the Yocto Project.
|
2012-02-02 20:18:55 +00:00
|
|
|
|
You can get set up with local
|
|
|
|
|
<link linkend='yocto-project-files'>Yocto Project Files</link> one of two ways
|
|
|
|
|
depending on whether you
|
2011-07-27 15:07:37 +00:00
|
|
|
|
are going to be contributing back into the Yocto Project source repository or not.
|
2011-07-27 15:16:16 +00:00
|
|
|
|
<note>
|
2011-09-19 17:16:24 +00:00
|
|
|
|
Regardless of the method you use, this manual refers to the resulting
|
2012-02-17 21:36:02 +00:00
|
|
|
|
hierarchical set of files as the "Yocto Project Files" or the "Yocto Project File
|
|
|
|
|
Structure."
|
2011-07-27 15:16:16 +00:00
|
|
|
|
</note>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute
|
2011-09-19 17:16:24 +00:00
|
|
|
|
back into the Yocto Project, you can simply download the Yocto Project release you want
|
2012-03-09 19:40:39 +00:00
|
|
|
|
from the website’s <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink>.
|
2011-07-27 15:07:37 +00:00
|
|
|
|
Once you have the tarball, just extract it into a directory of your choice.</para>
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<para>For example, the following command extracts the Yocto Project &DISTRO;
|
|
|
|
|
release tarball
|
2011-09-19 17:16:24 +00:00
|
|
|
|
into the current working directory and sets up the Yocto Project file structure
|
2012-03-09 19:40:39 +00:00
|
|
|
|
with a top-level directory named <filename>&YOCTO_POKY;</filename>:
|
2011-09-19 17:16:24 +00:00
|
|
|
|
<literallayout class='monospaced'>
|
2012-03-09 19:40:39 +00:00
|
|
|
|
$ tar xfj &YOCTO_POKY_TARBALL;
|
2011-09-19 17:16:24 +00:00
|
|
|
|
</literallayout></para>
|
|
|
|
|
<para>This method does not produce a Git repository.
|
|
|
|
|
Instead, you simply end up with a local snapshot of the
|
|
|
|
|
Yocto Project files that are based on the particular release in the
|
|
|
|
|
tarball.</para></listitem>
|
2011-07-22 15:40:12 +00:00
|
|
|
|
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing
|
2012-03-05 22:02:16 +00:00
|
|
|
|
back into the Yocto Project or you simply want to keep up
|
|
|
|
|
with the latest developments, you should use Git commands to set up a local
|
2012-02-17 21:36:02 +00:00
|
|
|
|
Git repository of the Yocto Project Files.
|
2011-07-22 15:40:12 +00:00
|
|
|
|
Doing so creates a Git repository with a complete history of changes and allows
|
2012-02-02 20:18:55 +00:00
|
|
|
|
you to easily submit your changes upstream to the project.
|
|
|
|
|
Because you cloned the repository, you have access to all the Yocto Project development
|
|
|
|
|
branches and tag names used in the upstream repository.</para>
|
2012-02-17 21:36:02 +00:00
|
|
|
|
<para>The following transcript shows how to clone the Yocto Project Files'
|
|
|
|
|
Git repository into the current working directory.
|
|
|
|
|
<note>The name of the Yocto Project Files Git repository in the Yocto Project Files
|
|
|
|
|
Source Repositories is <filename>poky</filename>.
|
|
|
|
|
You can view the Yocto Project Source Repositories at
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink></note>
|
2012-02-17 21:36:02 +00:00
|
|
|
|
The command creates the local repository in a directory named <filename>poky</filename>.
|
|
|
|
|
For information on Git used within the Yocto Project, see the
|
|
|
|
|
"<link linkend='git'>Git</link>" section.
|
|
|
|
|
<literallayout class='monospaced'>
|
2011-07-27 15:07:37 +00:00
|
|
|
|
$ git clone git://git.yoctoproject.org/poky
|
|
|
|
|
Initialized empty Git repository in /home/scottrif/poky/.git/
|
2011-10-04 19:49:27 +00:00
|
|
|
|
remote: Counting objects: 116882, done.
|
|
|
|
|
remote: Compressing objects: 100% (35987/35987), done.
|
|
|
|
|
remote: Total 116882 (delta 80651), reused 113045 (delta 77578)
|
|
|
|
|
Receiving objects: 100% (116882/116882), 72.13 MiB | 2.68 MiB/s, done.
|
2012-03-09 19:40:39 +00:00
|
|
|
|
Resolving deltas: 100% (80651/80651), done.
|
|
|
|
|
</literallayout></para>
|
2012-02-17 21:36:02 +00:00
|
|
|
|
<para>For another example of how to set up your own local Git repositories, see this
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
|
2011-07-22 15:40:12 +00:00
|
|
|
|
wiki page</ulink>, which describes how to create both <filename>poky</filename>
|
|
|
|
|
and <filename>meta-intel</filename> Git repositories.</para></listitem>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</itemizedlist></para></listitem>
|
2011-08-02 19:58:44 +00:00
|
|
|
|
<listitem id='local-kernel-files'><para><emphasis>Linux Yocto Kernel:</emphasis>
|
2011-09-19 17:16:24 +00:00
|
|
|
|
If you are going to be making modifications to a supported Linux Yocto kernel, you
|
|
|
|
|
need to establish local copies of the source.
|
2012-02-17 21:44:57 +00:00
|
|
|
|
You can find Git repositories of supported Linux Yocto Kernels organized under
|
|
|
|
|
"Yocto Linux Kernel" in the Yocto Project Source Repositories at
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
|
2012-02-17 21:44:57 +00:00
|
|
|
|
<para>This setup involves creating a bare clone of the Linux Yocto kernel and then
|
|
|
|
|
copying that cloned repository.
|
2011-08-10 21:19:31 +00:00
|
|
|
|
You can create the bare clone and the copy of the bare clone anywhere you like.
|
|
|
|
|
For simplicity, it is recommended that you create these structures outside of the
|
2012-02-17 21:44:57 +00:00
|
|
|
|
Yocto Project Files Git repository.</para>
|
2011-08-08 19:57:11 +00:00
|
|
|
|
<para>As an example, the following transcript shows how to create the bare clone
|
2012-02-02 20:40:01 +00:00
|
|
|
|
of the <filename>linux-yocto-3.0-1.1.x</filename> kernel and then create a copy of
|
2011-08-10 21:19:31 +00:00
|
|
|
|
that clone.
|
2011-09-19 17:16:24 +00:00
|
|
|
|
<note>When you have a local Linux Yocto kernel Git repository, you can
|
|
|
|
|
reference that repository rather than the upstream Git repository as
|
2011-08-11 19:50:00 +00:00
|
|
|
|
part of the <filename>clone</filename> command.
|
2011-11-04 23:02:45 +00:00
|
|
|
|
Doing so can speed up the process.</note></para>
|
|
|
|
|
<para>In the following example, the bare clone is named
|
2012-02-02 20:40:01 +00:00
|
|
|
|
<filename>linux-yocto-3.0-1.1.x.git</filename>, while the
|
|
|
|
|
copy is named <filename>my-linux-yocto-3.0-1.1.x-work</filename>:
|
2011-08-02 19:58:44 +00:00
|
|
|
|
<literallayout class='monospaced'>
|
2012-02-02 20:40:01 +00:00
|
|
|
|
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0-1.1.x linux-yocto-3.0-1.1.x.git
|
|
|
|
|
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0-1.1.x.git/
|
2012-01-12 14:54:03 +00:00
|
|
|
|
remote: Counting objects: 2259181, done.
|
|
|
|
|
remote: Compressing objects: 100% (373259/373259), done.
|
|
|
|
|
remote: Total 2259181 (delta 1892638), reused 2231556 (delta 1865300)
|
|
|
|
|
Receiving objects: 100% (2259181/2259181), 482.44 MiB | 580 KiB/s, done.
|
|
|
|
|
Resolving deltas: 100% (1892638/1892638), done.
|
|
|
|
|
</literallayout></para>
|
2011-08-08 19:57:11 +00:00
|
|
|
|
<para>Now create a clone of the bare clone just created:
|
|
|
|
|
<literallayout class='monospaced'>
|
2012-02-02 20:40:01 +00:00
|
|
|
|
$ git clone linux-yocto-3.0-1.1.x.git my-linux-yocto-3.0-1.1.x-work
|
|
|
|
|
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.0-1.1.x/.git/
|
2012-01-12 14:54:03 +00:00
|
|
|
|
Checking out files: 100% (36898/36898), done.
|
|
|
|
|
</literallayout></para></listitem>
|
2011-08-10 21:19:31 +00:00
|
|
|
|
<listitem id='poky-extras-repo'><para><emphasis>
|
|
|
|
|
The <filename>poky-extras</filename> Git Repository</emphasis>:
|
2011-11-10 21:28:32 +00:00
|
|
|
|
The <filename>poky-extras</filename> Git repository contains metadata needed
|
|
|
|
|
only if you are modifying and building the kernel image.
|
2011-08-10 21:19:31 +00:00
|
|
|
|
In particular, it contains the kernel <filename>.bbappend</filename> files that you
|
2011-09-19 17:16:24 +00:00
|
|
|
|
edit to point to your locally modified kernel source files and to build the kernel
|
2011-08-10 21:19:31 +00:00
|
|
|
|
image.
|
|
|
|
|
Pointing to these local files is much more efficient than requiring a download of the
|
|
|
|
|
source files from upstream each time you make changes to the kernel.</para>
|
2012-02-17 21:54:34 +00:00
|
|
|
|
<para>You can find the <filename>poky-extras</filename> Git Repository in the
|
|
|
|
|
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
|
2012-02-17 21:54:34 +00:00
|
|
|
|
It is good practice to create this Git repository inside the Yocto Project
|
|
|
|
|
files Git repository.</para>
|
|
|
|
|
<para>Following is an example that creates the <filename>poky-extras</filename> Git
|
2011-08-10 21:19:31 +00:00
|
|
|
|
repository inside the Yocto Project files Git repository, which is named
|
|
|
|
|
<filename>poky</filename> in this case:
|
2011-08-08 19:57:11 +00:00
|
|
|
|
<literallayout class='monospaced'>
|
2011-08-10 21:19:31 +00:00
|
|
|
|
$ cd ~/poky
|
2011-08-08 19:57:11 +00:00
|
|
|
|
$ git clone git://git.yoctoproject.org/poky-extras poky-extras
|
|
|
|
|
Initialized empty Git repository in /home/scottrif/poky/poky-extras/.git/
|
2012-01-12 14:18:58 +00:00
|
|
|
|
remote: Counting objects: 561, done.
|
|
|
|
|
remote: Compressing objects: 100% (501/501), done.
|
|
|
|
|
remote: Total 561 (delta 159), reused 306 (delta 39)
|
|
|
|
|
Receiving objects: 100% (561/561), 519.96 KiB | 479 KiB/s, done.
|
|
|
|
|
Resolving deltas: 100% (159/159), done.
|
|
|
|
|
</literallayout></para></listitem>
|
2012-03-08 16:31:52 +00:00
|
|
|
|
<listitem><para id='supported-board-support-packages-(bsps)'><emphasis>Supported Board
|
|
|
|
|
Support Packages (BSPs):</emphasis>
|
|
|
|
|
The Yocto Project provides a layer called <filename>meta-intel</filename> and
|
|
|
|
|
it is maintained in its own separate Git repository.
|
|
|
|
|
The <filename>meta-intel</filename> layer contains many supported
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>.</para>
|
2012-03-08 16:31:52 +00:00
|
|
|
|
<para>Similar considerations exist for setting up the <filename>meta-intel</filename>
|
|
|
|
|
layer.
|
2011-07-27 16:00:46 +00:00
|
|
|
|
You can get set up for BSP development one of two ways: tarball extraction or
|
|
|
|
|
with a local Git repository.
|
2012-03-08 16:31:52 +00:00
|
|
|
|
It is a good idea to use the same method used to set up the Yocto Project Files.
|
2011-07-27 16:00:46 +00:00
|
|
|
|
Regardless of the method you use, the Yocto Project uses the following BSP layer
|
|
|
|
|
naming scheme:
|
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
|
meta-<BSP_name>
|
|
|
|
|
</literallayout>
|
|
|
|
|
where <BSP_name> is the recognized BSP name.
|
|
|
|
|
Here are some examples:
|
|
|
|
|
<literallayout class='monospaced'>
|
2011-07-28 20:24:18 +00:00
|
|
|
|
meta-crownbay
|
|
|
|
|
meta-emenlow
|
|
|
|
|
meta-n450
|
2011-07-27 16:00:46 +00:00
|
|
|
|
</literallayout>
|
2012-02-17 22:06:41 +00:00
|
|
|
|
See the
|
2012-03-09 19:40:39 +00:00
|
|
|
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
|
2012-02-17 22:06:41 +00:00
|
|
|
|
section in the Yocto Project Board Support Package (BSP) Developer's Guide for more
|
|
|
|
|
information on BSP Layers.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
|
|
|
|
|
BSP tarball from the same
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_HOME_URL;/download'>download site</ulink> used
|
2011-09-19 17:16:24 +00:00
|
|
|
|
to get the Yocto Project release.
|
|
|
|
|
Once you have the tarball, just extract it into a directory of your choice.
|
2011-07-22 15:40:12 +00:00
|
|
|
|
Again, this method just produces a snapshot of the BSP layer in the form
|
|
|
|
|
of a hierarchical directory structure.</para></listitem>
|
|
|
|
|
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are working
|
2012-03-08 16:31:52 +00:00
|
|
|
|
with a Yocto Project Files Git repository, you should also use this method
|
|
|
|
|
to set up the <filename>meta-intel</filename> Git repository.
|
2012-02-17 22:06:41 +00:00
|
|
|
|
You can locate the <filename>meta-intel</filename> Git repository in the
|
|
|
|
|
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
|
2012-02-17 22:06:41 +00:00
|
|
|
|
<para>Typically, you set up the <filename>meta-intel</filename> Git repository inside
|
|
|
|
|
the Yocto Project Files Git repository.
|
|
|
|
|
For example, the following transcript shows the steps to clone the
|
2011-07-27 16:00:46 +00:00
|
|
|
|
<filename>meta-intel</filename>
|
2011-09-13 17:10:19 +00:00
|
|
|
|
Git repository inside the <filename>poky</filename> Git repository.
|
2011-07-27 16:00:46 +00:00
|
|
|
|
<literallayout class='monospaced'>
|
2011-11-02 20:05:20 +00:00
|
|
|
|
$ cd poky
|
2011-07-27 15:41:28 +00:00
|
|
|
|
$ git clone git://git.yoctoproject.org/meta-intel.git
|
|
|
|
|
Initialized empty Git repository in /home/scottrif/poky/meta-intel/.git/
|
|
|
|
|
remote: Counting objects: 1325, done.
|
|
|
|
|
remote: Compressing objects: 100% (1078/1078), done.
|
|
|
|
|
remote: Total 1325 (delta 546), reused 85 (delta 27)
|
|
|
|
|
Receiving objects: 100% (1325/1325), 1.56 MiB | 330 KiB/s, done.
|
|
|
|
|
Resolving deltas: 100% (546/546), done.
|
2011-07-27 16:00:46 +00:00
|
|
|
|
</literallayout></para>
|
2011-07-27 15:41:28 +00:00
|
|
|
|
<para>The same
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
|
2011-07-22 15:40:12 +00:00
|
|
|
|
wiki page</ulink> referenced earlier covers how to
|
|
|
|
|
set up the <filename>meta-intel</filename> Git repository.</para></listitem>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</itemizedlist></para></listitem>
|
2011-08-16 16:17:55 +00:00
|
|
|
|
<listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing
|
2011-09-19 17:16:24 +00:00
|
|
|
|
applications using the Eclipse Integrated Development Environment (IDE),
|
|
|
|
|
you will need this plug-in.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
See the
|
2012-03-09 19:40:39 +00:00
|
|
|
|
"<ulink url='&YOCTO_DOCS_ADT_URL;#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
|
2011-09-19 17:16:24 +00:00
|
|
|
|
section in the Yocto Application Development Toolkit (ADT)
|
2011-07-15 16:23:55 +00:00
|
|
|
|
User’s Guide for more information.</para></listitem>
|
2011-07-15 14:29:18 +00:00
|
|
|
|
</itemizedlist>
|
|
|
|
|
</para>
|
|
|
|
|
</section>
|
|
|
|
|
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<section id='building-images'>
|
|
|
|
|
<title>Building Images</title>
|
2011-07-15 14:29:18 +00:00
|
|
|
|
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<para>
|
|
|
|
|
The build process creates an entire Linux distribution, including the toolchain, from source.
|
|
|
|
|
For more information on this topic, see the
|
2012-03-09 19:40:39 +00:00
|
|
|
|
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
|
2011-09-19 17:16:24 +00:00
|
|
|
|
section in the Yocto Project Quick Start.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</para>
|
2011-07-15 14:29:18 +00:00
|
|
|
|
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<para>
|
|
|
|
|
The build process is as follows:
|
|
|
|
|
<orderedlist>
|
|
|
|
|
<listitem><para>Make sure you have the Yocto Project files as described in the
|
|
|
|
|
previous section.</para></listitem>
|
|
|
|
|
<listitem><para>Initialize the build environment by sourcing a build environment
|
|
|
|
|
script.</para></listitem>
|
2012-01-31 20:21:35 +00:00
|
|
|
|
<listitem><para>Optionally ensure the <filename>/conf/local.conf</filename> configuration file,
|
2012-02-22 19:51:35 +00:00
|
|
|
|
which is found in the
|
|
|
|
|
<link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>,
|
|
|
|
|
is set up how you want it.
|
2012-01-31 20:21:35 +00:00
|
|
|
|
This file defines many aspects of the build environment including
|
|
|
|
|
the target machine architecture through the
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'>MACHINE</ulink></filename> variable,
|
2012-01-31 20:21:35 +00:00
|
|
|
|
the development machine's processor use through the
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</ulink></filename> and
|
|
|
|
|
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'>PARALLEL_MAKE</ulink></filename> variables, and
|
2012-01-31 20:21:35 +00:00
|
|
|
|
a centralized tarball download directory through the
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'>DL_DIR</ulink></filename> variable.</para></listitem>
|
2012-02-17 22:09:23 +00:00
|
|
|
|
<listitem><para>Build the image using the <filename>bitbake</filename> command.
|
2011-11-09 15:28:18 +00:00
|
|
|
|
If you want information on BitBake, see the user manual at
|
2012-03-09 19:40:39 +00:00
|
|
|
|
<ulink url='&OE_DOCS_URL;/bitbake/html'></ulink>.</para></listitem>
|
2011-08-01 22:03:59 +00:00
|
|
|
|
<listitem><para>Run the image either on the actual hardware or using the QEMU
|
|
|
|
|
emulator.</para></listitem>
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</orderedlist>
|
|
|
|
|
</para>
|
|
|
|
|
</section>
|
2011-07-15 14:29:18 +00:00
|
|
|
|
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<section id='using-pre-built-binaries-and-qemu'>
|
|
|
|
|
<title>Using Pre-Built Binaries and QEMU</title>
|
2011-07-15 14:29:18 +00:00
|
|
|
|
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<para>
|
2011-08-11 20:55:07 +00:00
|
|
|
|
Another option you have to get started is to use pre-built binaries.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
This scenario is ideal for developing software applications to run on your target hardware.
|
2011-09-19 17:16:24 +00:00
|
|
|
|
To do this, you need to install the stand-alone Yocto Project cross-toolchain tarball and
|
|
|
|
|
then download the pre-built kernel that you will boot in the QEMU emulator.
|
|
|
|
|
Next, you must download and extract the target root filesystem for your target
|
|
|
|
|
machine’s architecture.
|
|
|
|
|
Finally, you set up the environment to emulate the hardware and then start the QEMU emulator.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</para>
|
2011-07-15 14:29:18 +00:00
|
|
|
|
|
2011-07-15 16:23:55 +00:00
|
|
|
|
<para>
|
|
|
|
|
You can find details on all these steps in the
|
2012-03-09 19:40:39 +00:00
|
|
|
|
"<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
|
2011-09-19 17:16:24 +00:00
|
|
|
|
section of the Yocto Project Quick Start.
|
2011-07-15 16:23:55 +00:00
|
|
|
|
</para>
|
|
|
|
|
</section>
|
2011-07-15 14:29:18 +00:00
|
|
|
|
</chapter>
|
|
|
|
|
<!--
|
|
|
|
|
vim: expandtab tw=80 ts=4
|
|
|
|
|
-->
|