aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2015-05-21 11:12:19 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-28 18:02:32 +0100
commitab23dd967e5a59de3cffe48762b4956edba5d478 (patch)
treed170bb0b1418a309fb12419ccd310c2f1634abf7
parentadd1f737b8baa5aa258d967cb29810dbd636ad1a (diff)
downloadopenembedded-core-contrib-ab23dd967e5a59de3cffe48762b4956edba5d478.tar.gz
yocto-project-qs and others: Rewrite of the QS
This was a complete re-write of the YP Quick Start in an attempt to streamline it, remove unecessary detail, and make it flow better with the examples. In doing so, many manuals were affected due to section headings being renamed, information being moved, etc. Here is a list of the changes by manual: Makefile - Removed two figures from TARFILE list for the yocto-project-qs. Added building-an-image.png to the ref-manual TARFILE list. Added using-a-pre-build-image.png to the adt-manual TARFILE list. Repositioned 'eclipse' in the adt-manual TARFILE list. adt-manual: Fixed a cross-reference so that it goes to the new 'Building Images' section that is within the YP QS. Added new section 'Example Using Pre-Build Binaries and QEMU' to hold the information that was formerly in YP QS. dev-manual: Removed a cross-reference into the YP QS that promised how to configure the most efficent build. Changed a cross-reference into the YP QS from 'The Packages' to 'The Build System Packages'. Changed a cross-reference into the YP QS from 'Building an Image' to 'Building Images'. Changed a text reference from the YP QS to the adt-manual. Moved the bit about getting YP files by using the YP website from the YP QS to the dev-manual. Changed a cross-reference into the YP QS from 'Using Pre-Built Binaries and QEMU' to 'Example Using Pre-built Binaries and QEMU', which was moved to the adt-manual. ref-manual: Changed a cross-reference into the YP QS from 'What You Need and How You Get It' to 'Setting Up to Use the Yocto Project'. Moved the note about if your system has oss4-dev in the packages area in the YP QS to the appropriate area in the ref-manual. Moved the introduction information regarding building an image along with the figure from YP QS to the ref-manual's section on building images. toaster-manual: Changed a cross-reference into the YP QS from 'What You Need and How You Get It' to 'Setting Up to Use the Yocto Project'. yocto-project-qs: Complete rewrite that changed many section headings and removed much detail, which was placed in other manuals. (From yocto-docs rev: da4ed8147b04963a700caa784bda709c57b4eb6e) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--documentation/Makefile6
-rw-r--r--documentation/adt-manual/adt-prepare.xml264
-rw-r--r--documentation/adt-manual/figures/using-a-pre-built-image.png (renamed from documentation/yocto-project-qs/figures/using-a-pre-built-image.png)bin12733 -> 12733 bytes
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml3
-rw-r--r--documentation/dev-manual/dev-manual-model.xml18
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml2
-rw-r--r--documentation/dev-manual/dev-manual-start.xml22
-rwxr-xr-xdocumentation/ref-manual/figures/building-an-image.png (renamed from documentation/yocto-project-qs/figures/building-an-image.png)bin14891 -> 14891 bytes
-rw-r--r--documentation/ref-manual/introduction.xml16
-rw-r--r--documentation/ref-manual/ref-bitbake.xml2
-rw-r--r--documentation/ref-manual/usingpoky.xml20
-rw-r--r--documentation/toaster-manual/toaster-manual-setup-and-use.xml8
-rw-r--r--documentation/toaster-manual/toaster-manual-start.xml2
-rw-r--r--documentation/yocto-project-qs/yocto-project-qs.xml1705
14 files changed, 965 insertions, 1103 deletions
diff --git a/documentation/Makefile b/documentation/Makefile
index 71420ac2bb..9197a40a78 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -147,7 +147,6 @@ ifeq ($(DOC),yocto-project-qs)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = yocto-project-qs.html qs-style.css figures/yocto-environment.png \
- figures/building-an-image.png figures/using-a-pre-built-image.png \
figures/yocto-project-transp.png \
eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
@@ -263,7 +262,7 @@ TARFILES = ref-manual.html ref-style.css figures/poky-title.png \
figures/images.png figures/sdk.png figures/source-fetching.png \
figures/patching.png figures/configuration-compile-autoreconf.png \
figures/analysis-for-package-splitting.png figures/image-generation.png \
- figures/sdk-generation.png
+ figures/sdk-generation.png figures/building-an-image.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
@@ -274,7 +273,8 @@ ifeq ($(DOC),adt-manual)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = adt-manual.html adt-style.css figures/adt-title.png \
- eclipse
+ figures/using-a-pre-built-image.png \
+ eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml
index 814adbd615..01f569f805 100644
--- a/documentation/adt-manual/adt-prepare.xml
+++ b/documentation/adt-manual/adt-prepare.xml
@@ -465,9 +465,12 @@
<para>
To get the kernel and filesystem images, you either have to build them or download
pre-built versions.
- You can find examples for both these situations in the
- "<ulink url='&YOCTO_DOCS_QS_URL;#test-run'>A Quick Test Run</ulink>" section of
- the Yocto Project Quick Start.
+ For an example of how to build these images, see the
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-buiding-images'>Buiding Images</ulink>"
+ section of the Yocto Project Quick Start.
+ For an example of downloading pre-build versions, see the
+ "<link linkend='using-pre-built'>Example Using Pre-Built Binaries and QEMU</link>"
+ section.
</para>
<para>
@@ -720,6 +723,261 @@
variable in the Yocto Project Reference Manual's variable glossary.
</para>
</section>
+
+ <section id='using-pre-built'>
+ <title>Example Using Pre-Built Binaries and QEMU</title>
+
+ <para>
+ If hardware, libraries and services are stable, you can get started by using a pre-built binary
+ of the filesystem image, kernel, and toolchain and run it using the QEMU emulator.
+ This scenario is useful for developing application software.
+ </para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/using-a-pre-built-image.png" format="PNG" align='center' scalefit='1'/>
+ </imageobject>
+ <caption>
+ <para>Using a Pre-Built Image</para>
+ </caption>
+ </mediaobject>
+
+ <para>
+ For this scenario, you need to do several things:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>Install the appropriate stand-alone toolchain tarball.</para></listitem>
+ <listitem><para>Download the pre-built image that will boot with QEMU.
+ You need to be sure to get the QEMU image that matches your target machine’s
+ architecture (e.g. x86, ARM, etc.).</para></listitem>
+ <listitem><para>Download the filesystem image for your target machine's architecture.
+ </para></listitem>
+ <listitem><para>Set up the environment to emulate the hardware and then start the QEMU emulator.
+ </para></listitem>
+ </itemizedlist>
+
+ <section id='installing-the-toolchain'>
+ <title>Installing the Toolchain</title>
+
+ <para>
+ You can download a tarball installer, which includes the
+ pre-built toolchain, the <filename>runqemu</filename>
+ script, and support files from the appropriate directory under
+ <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>.
+ Toolchains are available for 32-bit and 64-bit x86 development
+ systems from the <filename>i686</filename> and
+ <filename>x86_64</filename> directories, respectively.
+ The toolchains the Yocto Project provides are based off the
+ <filename>core-image-sato</filename> image and contain
+ libraries appropriate for developing against that image.
+ Each type of development system supports five or more target
+ architectures.
+ </para>
+
+ <para>
+ The names of the tarball installer scripts are such that a
+ string representing the host system appears first in the
+ filename and then is immediately followed by a string
+ representing the target architecture.
+ </para>
+
+ <literallayout class='monospaced'>
+ poky-glibc-<replaceable>host_system</replaceable>-<replaceable>image_type</replaceable>-<replaceable>arch</replaceable>-toolchain-<replaceable>release_version</replaceable>.sh
+
+ Where:
+ <replaceable>host_system</replaceable> is a string representing your development system:
+
+ i686 or x86_64.
+
+ <replaceable>image_type</replaceable> is a string representing the image you wish to
+ develop a Software Development Toolkit (SDK) for use against.
+ The Yocto Project builds toolchain installers using the
+ following BitBake command:
+
+ bitbake core-image-sato -c populate_sdk
+
+ <replaceable>arch</replaceable> is a string representing the tuned target architecture:
+
+ i586, x86_64, powerpc, mips, armv7a or armv5te
+
+ <replaceable>release_version</replaceable> is a string representing the release number of the
+ Yocto Project:
+
+ &DISTRO;, &DISTRO;+snapshot
+ </literallayout>
+
+ <para>
+ For example, the following toolchain installer is for a 64-bit
+ development host system and a i586-tuned target architecture
+ based off the SDK for <filename>core-image-sato</filename>:
+ <literallayout class='monospaced'>
+ poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
+ </literallayout>
+ </para>
+
+ <para>
+ Toolchains are self-contained and by default are installed into
+ <filename>/opt/poky</filename>.
+ However, when you run the toolchain installer, you can choose an
+ installation directory.
+ </para>
+
+ <para>
+ The following command shows how to run the installer given a toolchain tarball
+ for a 64-bit x86 development host system and a 32-bit x86 target architecture.
+ You must change the permissions on the toolchain
+ installer script so that it is executable.
+ </para>
+
+ <para>
+ The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>.
+ <note>
+ If you do not have write permissions for the directory into which you are installing
+ the toolchain, the toolchain installer notifies you and exits.
+ Be sure you have write permissions in the directory and run the installer again.
+ </note>
+ </para>
+
+ <para>
+ <literallayout class='monospaced'>
+ $ ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
+ </literallayout>
+ </para>
+
+ <para>
+ For more information on how to install tarballs, see the
+ "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" and
+ "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>" sections in the Yocto Project Application Developer's Guide.
+ </para>
+ </section>
+
+ <section id='downloading-the-pre-built-linux-kernel'>
+ <title>Downloading the Pre-Built Linux Kernel</title>
+
+ <para>
+ You can download the pre-built Linux kernel suitable for running in the QEMU emulator from
+ <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>.
+ Be sure to use the kernel that matches the architecture you want to simulate.
+ Download areas exist for the five supported machine architectures:
+ <filename>qemuarm</filename>, <filename>qemumips</filename>, <filename>qemuppc</filename>,
+ <filename>qemux86</filename>, and <filename>qemux86-64</filename>.
+ </para>
+
+ <para>
+ Most kernel files have one of the following forms:
+ <literallayout class='monospaced'>
+ *zImage-qemu<replaceable>arch</replaceable>.bin
+ vmlinux-qemu<replaceable>arch</replaceable>.bin
+
+ Where:
+ <replaceable>arch</replaceable> is a string representing the target architecture:
+ x86, x86-64, ppc, mips, or arm.
+ </literallayout>
+ </para>
+
+ <para>
+ You can learn more about downloading a Yocto Project kernel in the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Yocto Project Kernel</ulink>"
+ bulleted item in the Yocto Project Development Manual.
+ </para>
+ </section>
+
+ <section id='downloading-the-filesystem'>
+ <title>Downloading the Filesystem</title>
+
+ <para>
+ You can also download the filesystem image suitable for your target architecture from
+ <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>.
+ Again, be sure to use the filesystem that matches the architecture you want
+ to simulate.
+ </para>
+
+ <para>
+ The filesystem image has two tarball forms: <filename>ext3</filename> and
+ <filename>tar</filename>.
+ You must use the <filename>ext3</filename> form when booting an image using the
+ QEMU emulator.
+ The <filename>tar</filename> form can be flattened out in your host development system
+ and used for build purposes with the Yocto Project.
+ <literallayout class='monospaced'>
+ core-image-<replaceable>profile</replaceable>-qemu<replaceable>arch</replaceable>.ext3
+ core-image-<replaceable>profile</replaceable>-qemu<replaceable>arch</replaceable>.tar.bz2
+
+ Where:
+ <replaceable>profile</replaceable> is the filesystem image's profile:
+ lsb, lsb-dev, lsb-sdk, lsb-qt3, minimal, minimal-dev, sato,
+ sato-dev, or sato-sdk. For information on these types of image
+ profiles, see the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
+ chapter in the Yocto Project Reference Manual.
+
+ <replaceable>arch</replaceable> is a string representing the target architecture:
+ x86, x86-64, ppc, mips, or arm.
+ </literallayout>
+ </para>
+ </section>
+
+ <section id='setting-up-the-environment-and-starting-the-qemu-emulator'>
+ <title>Setting Up the Environment and Starting the QEMU Emulator</title>
+
+ <para>
+ Before you start the QEMU emulator, you need to set up the emulation environment.
+ The following command form sets up the emulation environment.
+ <literallayout class='monospaced'>
+ $ source &YOCTO_ADTPATH_DIR;/environment-setup-<replaceable>arch</replaceable>-poky-linux-<replaceable>if</replaceable>
+
+ Where:
+ <replaceable>arch</replaceable> is a string representing the target architecture:
+ i586, x86_64, ppc603e, mips, or armv5te.
+
+ <replaceable>if</replaceable> is a string representing an embedded application binary interface.
+ Not all setup scripts include this string.
+ </literallayout>
+ </para>
+
+ <para>
+ Finally, this command form invokes the QEMU emulator
+ <literallayout class='monospaced'>
+ $ runqemu <replaceable>qemuarch</replaceable> <replaceable>kernel-image</replaceable> <replaceable>filesystem-image</replaceable>
+
+ Where:
+ <replaceable>qemuarch</replaceable> is a string representing the target architecture: qemux86, qemux86-64,
+ qemuppc, qemumips, or qemuarm.
+
+ <replaceable>kernel-image</replaceable> is the architecture-specific kernel image.
+
+ <replaceable>filesystem-image</replaceable> is the .ext3 filesystem image.
+
+ </literallayout>
+ </para>
+
+ <para>
+ Continuing with the example, the following two commands setup the emulation
+ environment and launch QEMU.
+ This example assumes the root filesystem (<filename>.ext3</filename> file) and
+ the pre-built kernel image file both reside in your home directory.
+ The kernel and filesystem are for a 32-bit target architecture.
+ <literallayout class='monospaced'>
+ $ cd $HOME
+ $ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux
+ $ runqemu qemux86 bzImage-qemux86.bin \
+ core-image-sato-qemux86.ext3
+ </literallayout>
+ </para>
+
+ <para>
+ The environment in which QEMU launches varies depending on the filesystem image and on the
+ target architecture.
+ For example, if you source the environment for the ARM target
+ architecture and then boot the minimal QEMU image, the emulator comes up in a new
+ shell in command-line mode.
+ However, if you boot the SDK image, QEMU comes up with a GUI.
+ <note>Booting the PPC image results in QEMU launching in the same shell in
+ command-line mode.</note>
+ </para>
+ </section>
+</section>
+
</chapter>
<!--
vim: expandtab tw=80 ts=4
diff --git a/documentation/yocto-project-qs/figures/using-a-pre-built-image.png b/documentation/adt-manual/figures/using-a-pre-built-image.png
index b03130d123..b03130d123 100644
--- a/documentation/yocto-project-qs/figures/using-a-pre-built-image.png
+++ b/documentation/adt-manual/figures/using-a-pre-built-image.png
Binary files differ
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index a929481633..e927a89bee 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -5021,9 +5021,6 @@
Furthermore, the <link linkend='build-directory'>Build Directory</link> is
<filename>build</filename> and is located in <filename>poky</filename> and
the kernel is based on the Linux 3.4 kernel.
- For general information on how to configure the most efficient build, see the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
- in the Yocto Project Quick Start.
</para>
<para>
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml
index 03eb5f1176..9c549d7464 100644
--- a/documentation/dev-manual/dev-manual-model.xml
+++ b/documentation/dev-manual/dev-manual-model.xml
@@ -124,7 +124,7 @@
development using the Yocto Project</emphasis>: See the
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distribution</ulink>"
and the
- "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
+ "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the project files on your
system</emphasis>: You need this <link linkend='source-directory'>Source
@@ -223,7 +223,7 @@
"<link linkend='enabling-your-layer'>Enabling Your Layer</link>" section
for information on how to let the build system know about your new layer.</para>
<para>The entire process for building an image is overviewed in the section
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" section
of the Yocto Project Quick Start.
You might want to reference this information.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The OpenEmbedded build system
@@ -451,7 +451,7 @@
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distribution</ulink>" and
- "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
+ "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of project files on your
system</emphasis>: Having the <link linkend='source-directory'>Source
@@ -476,7 +476,7 @@
(<filename>local.conf</filename> and <filename>bblayers.conf</filename>)
are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section of the Yocto Project Quick Start.
You might want to reference this information.
You can find more information on BitBake in the
@@ -617,7 +617,7 @@
<para>For information on pre-built kernel image naming schemes for images
that can run on the QEMU emulator, see the
"<ulink url='&YOCTO_DOCS_QS_URL;#downloading-the-pre-built-linux-kernel'>Downloading the Pre-Built Linux Kernel</ulink>"
- section in the Yocto Project Quick Start.</para></listitem>
+ section in the Yocto Project Application Developer's Guide.</para></listitem>
<listitem><para><emphasis>Install the ADT</emphasis>:
The ADT provides a target-specific cross-development toolchain, the root filesystem,
the QEMU emulator, and other tools that can help you develop your application.
@@ -646,7 +646,7 @@
section in the Yocto Project Application Developer's Guide for information
and the
"<ulink url='&YOCTO_DOCS_QS_URL;#installing-the-toolchain'>Installing the Toolchain</ulink>"
- in the Yocto Project Quick Start for information on finding and installing
+ in the Yocto Project Application Developer's Guide for information on finding and installing
the correct toolchain based on your host development system and your target
architecture.
</para></listitem>
@@ -1163,7 +1163,7 @@
If the architecture you need is not listed in
the menu, you will need to build the image.
See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section of the Yocto Project Quick Start for
more information.</para></listitem>
</itemizedlist>
@@ -1740,7 +1740,7 @@
For information on how to set up a local copy of the
<filename>poky</filename> repository and on how to
build a Yocto Project image, see the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section in the Yocto Project Quick Start.
</para></listitem>
<listitem><para>
@@ -2375,7 +2375,7 @@
<filename>bitbake -c cleanall <replaceable>package</replaceable></filename>).
Modifications will also disappear if you use the <filename>rm_work</filename>
feature as described in the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section of the Yocto Project Quick Start.
</note></para></listitem>
<listitem><para><emphasis>Generate the Patch:</emphasis>
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index 2c5fa683e0..70fa96975d 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -709,7 +709,7 @@
You "bake" something by running it through BitBake.</para>
<para>It is worth noting that the term "package" can, in general, have subtle
meanings. For example, the packages referred to in the
- "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" section are
+ "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" section are
compiled binaries that, when installed, add functionality to your Linux
distribution.</para>
<para>Another point worth noting is that historically within the Yocto Project,
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index 36a3593c19..db989b7bfa 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -73,7 +73,7 @@
</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The OpenEmbedded build system
requires that certain packages exist on your development system (e.g. Python 2.7).
- See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
+ See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>"
section in the Yocto Project Quick Start and the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
section in the Yocto Project Reference Manual for the exact
@@ -125,6 +125,20 @@
wiki page</ulink>, which describes how to create local
Git repositories for both
<filename>poky</filename> and <filename>meta-intel</filename>.
+ </para>
+ <para>
+ You can also get the Yocto Project Files by downloading
+ Yocto Project releases from the
+ <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>.
+ From the website, you just click "Downloads" in the navigation
+ pane to the left to display all Yocto Project downloads.
+ Current and archived releases are available for download.
+ Nightly and developmental builds are also maintained at
+ <ulink url="&YOCTO_AB_NIGHTLY_URL;"></ulink>.
+ One final site you can visit for information on Yocto Project
+ releases is the
+ <ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Releases</ulink>
+ wiki.
</para></listitem>
<listitem id='local-kernel-files'><para><emphasis>Yocto Project Kernel:</emphasis>
If you are going to be making modifications to a supported Yocto Project kernel, you
@@ -277,7 +291,7 @@
<para>
The build process creates an entire Linux distribution, including the toolchain, from source.
For more information on this topic, see the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section in the Yocto Project Quick Start.
</para>
@@ -349,8 +363,8 @@
by sourcing an environment setup script.
Finally, you start the QEMU emulator.
You can find details on all these steps in the
- "<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
- section of the Yocto Project Quick Start.
+ "<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Example Using Pre-Built Binaries and QEMU</ulink>"
+ section of the Yocto Project Application Developer's Guide.
You can learn more about using QEMU with the Yocto Project in the
"<link linkend='dev-manual-qemu'>Using the Quick EMUlator (QEMU)</link>"
section.
diff --git a/documentation/yocto-project-qs/figures/building-an-image.png b/documentation/ref-manual/figures/building-an-image.png
index 1fbea5ab00..1fbea5ab00 100755
--- a/documentation/yocto-project-qs/figures/building-an-image.png
+++ b/documentation/ref-manual/figures/building-an-image.png
Binary files differ
diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml
index cc3f6b075c..5250e26be7 100644
--- a/documentation/ref-manual/introduction.xml
+++ b/documentation/ref-manual/introduction.xml
@@ -110,7 +110,7 @@
<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
+ "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</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.
@@ -212,6 +212,20 @@
<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
diff --git a/documentation/ref-manual/ref-bitbake.xml b/documentation/ref-manual/ref-bitbake.xml
index 30aff6431f..dc402dbffc 100644
--- a/documentation/ref-manual/ref-bitbake.xml
+++ b/documentation/ref-manual/ref-bitbake.xml
@@ -255,7 +255,7 @@
It is worth noting that you can greatly speed up the build time by properly setting
the <filename>BB_NUMBER_THREADS</filename> variable.
See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section in the Yocto Project Quick Start for more information.
</para>
diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml
index e2e05b2514..ca87962e24 100644
--- a/documentation/ref-manual/usingpoky.xml
+++ b/documentation/ref-manual/usingpoky.xml
@@ -19,7 +19,7 @@
for less obvious aspects of the build process.
For general information on how to build an image using the OpenEmbedded build
system, see the
- "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section of the Yocto Project Quick Start.
</para>
@@ -27,6 +27,20 @@
<title>Build Overview</title>
<para>
+ In the development environment you will need to build an image whenever you change hardware
+ support, add or change system libraries, or add or change services that have dependencies.
+ </para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/building-an-image.png" format="PNG" align='center' scalefit='1'/>
+ </imageobject>
+ <caption>
+ <para>Building an Image</para>
+ </caption>
+ </mediaobject>
+
+ <para>
The first thing you need to do is set up the OpenEmbedded build
environment by sourcing an environment setup script
(i.e.
@@ -99,8 +113,8 @@
<filename class="directory">tmp/deploy/images</filename>.
For information on how to run pre-built images such as <filename>qemux86</filename>
and <filename>qemuarm</filename>, see the
- "<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
- section in the Yocto Project Quick Start.
+ "<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Example Using Pre-Built Binaries and QEMU</ulink>"
+ section in the Yocto Project Application Developer's Guide.
For information about how to install these images, see the documentation for your
particular board or machine.
</para>
diff --git a/documentation/toaster-manual/toaster-manual-setup-and-use.xml b/documentation/toaster-manual/toaster-manual-setup-and-use.xml
index a1546858d9..869d2490ef 100644
--- a/documentation/toaster-manual/toaster-manual-setup-and-use.xml
+++ b/documentation/toaster-manual/toaster-manual-setup-and-use.xml
@@ -32,7 +32,7 @@
Get the requirements set up so that you can use the
Yocto Project to build images.
See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>What You Need and How You Get It</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Quick Start for information.
</para></listitem>
<listitem><para><emphasis>Source your Build Environment Setup Script:</emphasis>
@@ -132,7 +132,7 @@
Get the requirements set up so that you can use the
Yocto Project to build images.
See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>What You Need and How You Get It</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Quick Start for information.
</para></listitem>
<listitem><para><emphasis>Install and Set up the Database Server:</emphasis>
@@ -394,7 +394,7 @@
Get the requirements set up so that you can use the
Yocto Project to build images.
See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>What You Need and How You Get It</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Quick Start for information.
</para></listitem>
<listitem><para><emphasis>Start Toaster:</emphasis>
@@ -491,7 +491,7 @@
Get the requirements set up so that you can use the
Yocto Project to build images.
See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>What You Need and How You Get It</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Quick Start for information.
</para></listitem>
<listitem><para><emphasis>Be Sure Management is Enabled:</emphasis>
diff --git a/documentation/toaster-manual/toaster-manual-start.xml b/documentation/toaster-manual/toaster-manual-start.xml
index 2a77c90de7..fbdb5ecb90 100644
--- a/documentation/toaster-manual/toaster-manual-start.xml
+++ b/documentation/toaster-manual/toaster-manual-start.xml
@@ -18,7 +18,7 @@
You first need to be sure your build system is set up to run
the Yocto Project.
See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>What You Need and How You Get It</ulink>"
+ "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Quick Start for information on how
to set up your system for the Yocto Project.
</para>
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml
index a8344be1ea..5da7314bd6 100644
--- a/documentation/yocto-project-qs/yocto-project-qs.xml
+++ b/documentation/yocto-project-qs/yocto-project-qs.xml
@@ -32,1013 +32,569 @@
</abstract>
</articleinfo>
-<section id='welcome'>
- <title>Welcome!</title>
- <para>
- Welcome to the Yocto Project!
- The Yocto Project is an open-source collaboration project focused on
- embedded Linux developers.
- Among other things, the Yocto Project uses a build system based on the
- OpenEmbedded (OE) project, which uses the
- <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>
- tool, to construct complete Linux images.
- The BitBake and OE components are combined together to form
- <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink>,
- a reference build system.
- </para>
-
- <para>
- If you don't have a system that runs Linux and you want to give the Yocto Project a test run,
- you might consider using the Yocto Project Build Appliance.
- The Build Appliance allows you to build and boot a custom embedded Linux image with the Yocto
- Project using a non-Linux development system.
- See the <ulink url='https://www.yoctoproject.org/tools-resources/projects/build-appliance'>Yocto
- Project Build Appliance</ulink> for more information.
- </para>
-
- <para>
- On the other hand, if you know all about open-source development, Linux development environments,
- Git source repositories and the like and you just want some quick information that lets you try out
- the Yocto Project on your Linux system, skip right to the
- "<link linkend='super-user'>Super User</link>" section at the end of this quick start.
- </para>
-
- <para>
- For the rest of you, this short document will give you some basic information about the environment and
- let you experience it in its simplest form.
- After reading this document, you will have a basic understanding of what the Yocto Project is
- and how to use some of its core components.
- This document steps you through a simple example showing you how to build a small image
- and run it using the Quick EMUlator (QEMU emulator).
- </para>
-
- <para>
- For more detailed information on the Yocto Project, you should check out these resources:
- <itemizedlist>
- <listitem><para><emphasis>Website:</emphasis> The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>
- provides the latest builds, breaking news, full development documentation, and a rich Yocto
- Project Development Community into which you can tap.
- </para></listitem>
- <listitem><para><emphasis>FAQs:</emphasis> Lists commonly asked Yocto Project questions and answers.
- You can find two FAQs: <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink> on
- a wiki, and the
- "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>" chapter in
- the Yocto Project Reference Manual.
- </para></listitem>
- <listitem><para><emphasis>Developer Screencast:</emphasis> The
- <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New Developer Screencast Tutorial</ulink>
- provides a 30-minute video created for users unfamiliar with
- the Yocto Project but familiar with Linux build systems.
- While this screencast is somewhat dated, the introductory
- and fundamental concepts are useful for the beginner.
- </para></listitem>
- </itemizedlist>
- </para>
-</section>
-
-<section id='yp-intro'>
- <title>Introducing the Yocto Project Development Environment</title>
- <para>
- The Yocto Project through the OpenEmbedded build system provides an
- open source development environment targeting the ARM, MIPS, PowerPC
- and x86 architectures for a variety of platforms including x86-64 and
- emulated ones.
- You can use components from the Yocto Project to design, develop,
- build, debug, simulate, and test the complete software stack using
- Linux, the X Window System, GTK+ frameworks, and Qt frameworks.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="figures/yocto-environment.png"
- format="PNG" align='center' scalefit='1' width="100%"/>
- </imageobject>
- <caption>
- <para>The Yocto Project Development Environment</para>
- </caption>
- </mediaobject>
-
- <para>
- Here are some highlights for the Yocto Project:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>Provides a recent Linux kernel along with a set of system commands and libraries suitable for the embedded environment.</para>
- </listitem>
- <listitem>
- <para>Makes available system components such as X11, GTK+, Qt, Clutter, and SDL
- (among others) so you can create a rich user experience on devices
- that have display hardware.
- For devices that do not have a display or where you wish to use alternative UI
- frameworks, these components need not be installed.</para>
- </listitem>
- <listitem>
- <para>Creates a focused and stable core compatible with the OpenEmbedded
- project with which you can easily and reliably build and develop.</para>
- </listitem>
- <listitem>
- <para>Fully supports a wide range of hardware and device emulation through the QEMU
- Emulator.</para>
- </listitem>
- </itemizedlist>
-
- <para>
- The Yocto Project can generate images for many kinds of devices.
- However, the standard example machines target QEMU full-system emulation for x86, x86-64, ARM, MIPS,
- and PPC-based architectures as well as specific hardware such as the
- <trademark class='registered'>Intel</trademark> Desktop Board DH55TC.
- Because an image developed with the Yocto Project can boot inside a QEMU emulator, the
- development environment works nicely as a test platform for developing embedded software.
- </para>
-
- <para>
- Another important Yocto Project feature is the Sato reference User
- Interface.
- This optional UI that is based on GTK+ is intended for devices with
- restricted screen sizes.
- The UI sits neatly on top of a device using the
- GTK+ stack and provides a well-defined user experience.
- Implemented in its own layer, it makes it clear to developers how they
- can implement their own user interface on top of a Linux image created
- with the Yocto Project.
- </para>
-</section>
-
-<section id='yp-resources'>
- <title>What You Need and How You Get It</title>
-
- <para>
- You need these things to develop projects in the Yocto Project
- environment:
- </para>
-
- <itemizedlist>
- <listitem><para>
- A host system with a minimum of 50 Gbytes of free disk space that
- is running a supported Linux distribution (i.e. recent releases
- of Fedora, openSUSE, CentOS, Debian, or Ubuntu).
- If the host system supports multiple cores and threads, you can
- configure the Yocto Project build system to significantly
- decrease the time needed to build images.
- </para></listitem>
- <listitem><para>
- Appropriate packages installed on the system you are using for
- builds.
- </para></listitem>
- <listitem><para>
- A release of the Yocto Project.
- </para></listitem>
- </itemizedlist>
-
- <section id='the-linux-distro'>
- <title>The Linux Distribution</title>
-
- <para>
- The Yocto Project team is continually verifying more and more Linux
- distributions with each release.
- In general, if you have the current release minus one of the following
- distributions you should have no problems.
- <itemizedlist>
- <listitem><para>Ubuntu</para></listitem>
- <listitem><para>Fedora</para></listitem>
- <listitem><para>openSUSE</para></listitem>
- <listitem><para>CentOS</para></listitem>
- <listitem><para>Debian</para></listitem>
- </itemizedlist>
- For a more detailed list of distributions that support the Yocto Project,
- see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" section
- in the Yocto Project Reference Manual.
- </para>
+ <section id='welcome'>
+ <title>Welcome!</title>
<para>
- The OpenEmbedded build system should be able to run on any modern
- distribution that has the following versions for Git, tar, and
- Python.
- <itemizedlist>
- <listitem><para>Git 1.7.8 or greater</para></listitem>
- <listitem><para>tar 1.24 or greater</para></listitem>
- <listitem><para>Python 2.7.3 or greater excluding Python
- 3.x, which is not supported.</para></listitem>
- </itemizedlist>
- Earlier releases of Python are known to not work and the
- system does not support Python 3 at this time.
- If your system does not meet any of these three listed
- version requirements, you can
- take steps to prepare the system so that you can still use the build
- system.
- See the
- "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>"
- section in the Yocto Project Reference Manual for information.
- </para>
- <para>
- This document assumes you are running one of the previously noted
- distributions on your Linux-based host systems.
- </para>
- <note>
- <para>
- If you attempt to use a distribution not in the above list,
- you may or may not have success.
- Yocto Project releases are tested against the stable Linux
- distributions listed in the
- "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
- section of the Yocto Project Reference Manual.
- 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>
- </section>
-
- <section id='packages'>
- <title>The Packages</title>
-
- <para>
- Packages and package installation vary depending on your development system
- and on your intent.
- For example, if you want to build an image that can run
- on QEMU in graphical mode (a minimal, basic build
- requirement), then the number of packages is different than if you want to
- build an image on a headless system or build out the Yocto Project
- documentation set.
- Collectively, the number of required packages is large
- if you want to be able to cover all cases.
- <note>In general, you need to have root access and then install the
- required packages.
- Thus, the commands in the following section may or may not work
- depending on whether or not your Linux distribution has
- <filename>sudo</filename> installed.</note>
- </para>
-
- <para>
- The next few sections list, by supported Linux Distributions, the required
- packages needed to build an image that runs on QEMU in graphical mode
- (e.g. essential plus graphics support).
+ Welcome to the Yocto Project!
+ The Yocto Project is an open-source collaboration project whose
+ focus is developers of embedded Linux systems.
+ Among other things, the Yocto Project uses a build host based
+ on the OpenEmbedded (OE) project, which uses the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>
+ tool, to construct complete Linux images.
+ The BitBake and OE components are combined together to form
+ a reference build host, historically known as
+ <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink>.
</para>
<para>
- For lists of required packages for other scenarios, see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
- section in the Yocto Project Reference Manual.
+ If you do not have a system that runs Linux and you want to give
+ the Yocto Project a test run, you might consider using the Yocto
+ Project Build Appliance.
+ The Build Appliance allows you to build and boot a custom embedded
+ Linux image with the Yocto Project using a non-Linux development
+ system.
+ See the
+ <ulink url='https://www.yoctoproject.org/tools-resources/projects/build-appliance'>Yocto Project Build Appliance</ulink>
+ for more information.
</para>
- <section id='ubuntu'>
- <title>Ubuntu and Debian</title>
-
- <para>
- The essential and graphical support packages you need for a
- supported Ubuntu or Debian distribution are shown in the
- following command:
- <literallayout class='monospaced'>
- $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm
- </literallayout>
- <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>
- </para>
- </section>
-
- <section id='fedora'>
- <title>Fedora</title>
-
- <para>
- The essential and graphical packages you need for a supported
- Fedora distribution are shown in the following command:
- <literallayout class='monospaced'>
- $ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
- </literallayout>
- </para>
- </section>
-
- <section id='opensuse'>
- <title>OpenSUSE</title>
-
- <para>
- The essential and graphical packages you need for a supported
- OpenSUSE distribution are shown in the following command:
- <literallayout class='monospaced'>
- $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm
- </literallayout>
- </para>
- </section>
-
- <section id='centos'>
- <title>CentOS</title>
-
- <para>
- The essential and graphical packages you need for a supported
- CentOS distribution are shown in the following command:
- <literallayout class='monospaced'>
- $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
- </literallayout>
- <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 id='releases'>
- <title>Yocto Project Release</title>
-
<para>
- It is recommended that you get the latest Yocto Project files
- by setting up (cloning in
- <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> terms) a local
- copy of the
- <filename>poky</filename> Git repository on your host development
- system.
- Doing so allows you to contribute back to the Yocto Project project.
- For information on how to get set up using this method, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto
- Project Release</ulink>" item in the Yocto Project Development Manual.
+ This quick start is written so that you can quickly get a host
+ build host set up to use the Yocto Project and then build some
+ Linux images.
+ Rather than go into great detail about the Yocto Project and its
+ many capabilities, this quick start provides the minimal
+ information you need to try out the Yocto Project using a
+ supported Linux build host.
+ Reading and using the quick start should result in you having a
+ basic understanding of what the Yocto Project is and how to use
+ some of its core components.
+ You will also have worked through steps to produce two images:
+ one suitable for emulation and one that can be used on actual
+ hardware.
+ The examples highlight the ease with which you can use the
+ Yocto Project to create images for multiple types of hardware.
</para>
<para>
- You can also get the Yocto Project Files by downloading
- Yocto Project releases from the
- <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>.
- From the website, you just click "Downloads" in the navigation pane
- to the left to display all Yocto Project downloads.
- Current and archived releases are available for download.
- Nightly and developmental builds are also maintained at
- <ulink url="&YOCTO_AB_NIGHTLY_URL;"></ulink>.
- One final site you can visit for information on Yocto Project
- releases is the
- <ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Releases</ulink>
- wiki.
- However, for this document a released version of Yocto Project is used.
+ For more detailed information on the Yocto Project, you can
+ reference these resources:
+ <itemizedlist>
+ <listitem><para><emphasis>Website:</emphasis>
+ The
+ <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>
+ provides the latest builds, breaking news, full development
+ documentation, and access to a rich Yocto Project
+ Development Community into which you can tap.
+ </para></listitem>
+ <listitem><para><emphasis>FAQs:</emphasis>
+ Lists commonly asked Yocto Project questions and answers.
+ You can find two FAQs:
+ <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink>
+ on a wiki, and the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>"
+ chapter in the Yocto Project Reference Manual.
+ </para></listitem>
+ <listitem><para><emphasis>Developer Screencast:</emphasis>
+ The
+ <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New Developer Screencast Tutorial</ulink>
+ provides a 30-minute video created for users unfamiliar
+ with the Yocto Project but familiar with Linux build
+ hosts.
+ While this screencast is somewhat dated, the introductory
+ and fundamental concepts are useful for the beginner.
+ </para></listitem>
+ </itemizedlist>
</para>
-
</section>
-</section>
-<section id='test-run'>
- <title>A Quick Test Run</title>
-
- <para>
- Now that you have your system requirements in order, you can give
- the Yocto Project a try.
- This section presents some steps that let you do the following:
- <itemizedlist>
- <listitem><para>
- Build an image and run it in the QEMU emulator.
- </para></listitem>
- <listitem><para>
- Use a pre-built image and run it in the QEMU emulator.
- </para></listitem>
- </itemizedlist>
- <note>
- This section does not provide detail, but rather provides minimal,
- working commands and examples designed to just get you started.
- For more details, see the appropriate manuals in the
- <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>.
- </note>
- </para>
-
- <section id='building-image'>
- <title>Building an Image</title>
+ <section id='yp-intro'>
+ <title>Introducing the Yocto Project Development Environment</title>
<para>
- In the development environment you will need to build an image whenever you change hardware
- support, add or change system libraries, or add or change services that have dependencies.
+ The Yocto Project through the OpenEmbedded build system provides an
+ open source development environment targeting the ARM, MIPS,
+ PowerPC, and x86 architectures for a variety of platforms
+ including x86-64 and emulated ones.
+ You can use components from the Yocto Project to design, develop,
+ build, debug, simulate, and test the complete software stack using
+ Linux, the X Window System, GTK+ frameworks, and Qt frameworks.
</para>
<mediaobject>
<imageobject>
- <imagedata fileref="figures/building-an-image.png" format="PNG" align='center' scalefit='1'/>
+ <imagedata fileref="figures/yocto-environment.png"
+ format="PNG" align='center' scalefit='1' width="100%"/>
</imageobject>
<caption>
- <para>Building an Image</para>
+ <para>The Yocto Project Development Environment</para>
</caption>
</mediaobject>
- <para>
- Use the following commands to build your image.
- The OpenEmbedded build process creates an entire Linux
- distribution, including the toolchain, from source.
- <note><title>Note about Network Proxies</title>
- <para>
- By default, the build process searches for source code
- using a pre-determined order through a set of locations.
- If you are working behind a firewall and your build system
- is not set up for proxies, you could encounter problems
- with the build process when fetching source code (e.g.
- fetcher failures or Git failures).
- </para>
-
- <para>
- If you do not know your proxy settings, consult your
- local network infrastructure resources and get that
- information.
- A good starting point could also be to check your web
- browser settings.
- Finally, you can find more information on using the Yocto
- Project behind a firewall in the Yocto Project Reference
- Manual
- <ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>FAQ</ulink>
- and on the
- "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>"
- wiki page.
- </para>
- </note>
- </para>
-
- <para>
- <literallayout class='monospaced'>
- $ git clone &YOCTO_GIT_URL;/git/poky
- $ cd poky
- $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
- $ source &OE_INIT_FILE;
- </literallayout>
- </para>
-
- <tip>
- <para>
- To help conserve disk space during builds, you can add the
- following statement to your project's configuration file,
- which for this example is
- <filename>poky/build/conf/local.conf</filename>.
- Adding this statement deletes the work directory used for
- building a package once the package is built.
- <literallayout class='monospaced'>
- INHERIT += "rm_work"
- </literallayout>
- </para>
- </tip>
-
- <itemizedlist>
- <listitem><para>In the previous example, the first command uses
- <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> to create
- a local repository named <filename>poky</filename> that is a
- clone of the upstream Yocto Project
- <filename>poky</filename> repository.</para></listitem>
- <listitem><para>The third command checks out the current
- Yocto Project release into a local branch whose name matches
- the release (i.e. <filename>&DISTRO_NAME;</filename>).
- The local branch tracks the upstream branch of the same name.
- Creating your own branch based on the released branch ensures
- you are using the latest files for that release.
- </para></listitem>
- <listitem><para>
- The final command runs the Yocto Project
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
- environment setup script.
- Running this script defines OpenEmbedded build environment
- settings needed to complete the build.
- The script also creates the
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
- which is <filename>build</filename> in this case and is located
- in the
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
- After the script runs, your current working directory is set
- to the Build Directory.
- Later, when the build completes, the Build Directory contains
- all the files created during the build.
- <note>
- For information on running a memory-resident
- <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>,
- see the
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>
- setup script.
- </note></para></listitem>
- </itemizedlist>
- <para>
- Take some time to examine your <filename>local.conf</filename> file
- in your project's configuration directory, which is found in the Build Directory.
- The defaults in that file should work fine.
- However, there are some variables of interest at which you might look.
- </para>
-
- <para>
- By default, the target architecture for the build is <filename>qemux86</filename>,
- which produces an image that can be used in the QEMU emulator and is targeted at an
- <trademark class='registered'>Intel</trademark> 32-bit based architecture.
- To change this default, edit the value of the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
- variable in the configuration file before launching the build.
- </para>
-
- <para>
- Three other variables of interest are the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink>,
- <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></ulink>,
- and
- <ulink url='&YOCTO_DOCS_BB_URL;#var-BB_NUMBER_PARSE_THREADS'><filename>BB_NUMBER_PARSE_THREADS</filename></ulink>
- variables.
- By default, the OpenEmbedded build system sets these variables
- based on the number of processor cores your build host uses.
- Thus, you typically do not need to uncomment these variables in
- your <filename>local.conf</filename> file to gain optimal build
- times.
- </para>
-
<para>
- Another consideration before you build is the package manager used when creating
- the image.
- By default, the OpenEmbedded build system uses the RPM package manager.
- You can control this configuration by using the
- <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> variable.
- For additional package manager selection information, see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package*.bbclass</filename></ulink>"
- section in the Yocto Project Reference Manual.
+ Here are some highlights for the Yocto Project:
</para>
- <para>
- Continue with the following command to build an OS image for the
- target, which is <filename>core-image-sato</filename> in this
- example.
- For information on the <filename>-k</filename> option use the
- <filename>bitbake --help</filename> command, see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
- section in the Yocto Project Reference Manual, or see the
- "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>"
- section in the BitBake User Manual.
- For information on other targets, see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
- chapter in the Yocto Project Reference Manual.
- <literallayout class='monospaced'>
- $ bitbake -k core-image-sato
- </literallayout>
- <note>
- BitBake requires Python 2.7. For more information on
- this requirement, see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python</ulink>"
- section in the Yocto Project Reference Manual.
- </note>
- The final command runs the image using the QEMU emulator:
- <literallayout class='monospaced'>
- $ runqemu qemux86
- </literallayout>
- <note>
- <para>
- Depending on the number of processors and cores, the amount
- of RAM, the speed of your Internet connection and other
- factors, the build process could take several hours the
- first time you run it.
- Subsequent builds run much faster since parts of the build
- are cached.
- </para>
- </note>
- If you want to learn more about running QEMU, see the
- "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>"
- chapter in the Yocto Project Development Manual.
- </para>
+ <itemizedlist>
+ <listitem><para>
+ Provides a recent Linux kernel along with a set of system
+ commands and libraries suitable for the embedded
+ environment.
+ </para></listitem>
+ <listitem><para>
+ Makes available system components such as X11, GTK+, Qt,
+ Clutter, and SDL (among others) so you can create a rich user
+ experience on devices that have display hardware.
+ For devices that do not have a display or where you wish to
+ use alternative UI frameworks, these components need not be
+ installed.
+ </para></listitem>
+ <listitem><para>
+ Creates a focused and stable core compatible with the
+ OpenEmbedded project with which you can easily and reliably
+ build and develop.
+ </para></listitem>
+ <listitem><para>
+ Fully supports a wide range of hardware and device emulation
+ through the Quick EMUlator (QEMU).
+ </para></listitem>
+ <listitem><para>
+ Provides a layer mechanism that allows you to easily extend
+ the system, make customizations, and keep them organized.
+ </para></listitem>
+ </itemizedlist>
<para>
- For information on how to use a pre-built binary, continue reading
- into the next section.
- Otherwise, you might be interested in reading the early chapters
- of the
- <ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Manual</ulink>.
+ You can use the Yocto Project to generate images for many kinds
+ of devices.
+ As mentioned earlier, the Yocto Project supports creation of
+ reference images that you can boot within and emulate using QEMU.
+ The standard example machines target QEMU full-system
+ emulation for 32-bit and 64-bit variants of x86, ARM, MIPS, and
+ PowerPC architectures.
+ Beyond emulation, you can use the layer mechanism to extend
+ support to just about any platform that Linux can run on and that
+ a toolchain can target.
</para>
- </section>
-
- <section id='using-pre-built'>
- <title>Using Pre-Built Binaries and QEMU</title>
<para>
- If hardware, libraries and services are stable, you can get started by using a pre-built binary
- of the filesystem image, kernel, and toolchain and run it using the QEMU emulator.
- This scenario is useful for developing application software.
+ Another Yocto Project feature is the Sato reference User
+ Interface.
+ This optional UI that is based on GTK+ is intended for devices with
+ restricted screen sizes and is included as part of the
+ OpenEmbedded Core layer so that developers can test parts of the
+ software stack.
</para>
+ </section>
- <mediaobject>
- <imageobject>
- <imagedata fileref="figures/using-a-pre-built-image.png" format="PNG" align='center' scalefit='1'/>
- </imageobject>
- <caption>
- <para>Using a Pre-Built Image</para>
- </caption>
- </mediaobject>
+ <section id='yp-resources'>
+ <title>Setting Up to Use the Yocto Project</title>
<para>
- For this scenario, you need to do several things:
+ The following list shows what you need in order to use a
+ Linux-based build host to use the Yocto Project to build images:
</para>
<itemizedlist>
- <listitem><para>Install the appropriate stand-alone toolchain tarball.</para></listitem>
- <listitem><para>Download the pre-built image that will boot with QEMU.
- You need to be sure to get the QEMU image that matches your target machine’s
- architecture (e.g. x86, ARM, etc.).</para></listitem>
- <listitem><para>Download the filesystem image for your target machine's architecture.
+ <listitem><para><emphasis>Build Host</emphasis>
+ A build host with a minimum of 50 Gbytes of free disk
+ space that is running a supported Linux distribution (i.e.
+ recent releases of Fedora, openSUSE, CentOS, Debian, or
+ Ubuntu).
</para></listitem>
- <listitem><para>Set up the environment to emulate the hardware and then start the QEMU emulator.
+ <listitem><para><emphasis>Build Host Packages</emphasis>
+ Appropriate packages installed on the build host.
+ </para></listitem>
+ <listitem><para><emphasis>The Yocto Project</emphasis>
+ A release of the Yocto Project.
</para></listitem>
</itemizedlist>
- <section id='installing-the-toolchain'>
- <title>Installing the Toolchain</title>
-
- <para>
- You can download a tarball installer, which includes the
- pre-built toolchain, the <filename>runqemu</filename>
- script, and support files from the appropriate directory under
- <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>.
- Toolchains are available for 32-bit and 64-bit x86 development
- systems from the <filename>i686</filename> and
- <filename>x86_64</filename> directories, respectively.
- The toolchains the Yocto Project provides are based off the
- <filename>core-image-sato</filename> image and contain
- libraries appropriate for developing against that image.
- Each type of development system supports five or more target
- architectures.
+ <section id='the-linux-distro'>
+ <title>The Linux Distribution</title>
+
+ <para>
+ The Yocto Project team verifies each release against recent
+ versions of the most popular Linux distributions that
+ provide stable releases.
+ In general, if you have the current release minus one of the
+ following distributions, you should have no problems.
+ <itemizedlist>
+ <listitem><para>
+ Ubuntu
+ </para></listitem>
+ <listitem><para>
+ Fedora
+ </para></listitem>
+ <listitem><para>
+ openSUSE
+ </para></listitem>
+ <listitem><para>
+ CentOS
+ </para></listitem>
+ <listitem><para>
+ Debian
+ </para></listitem>
+ </itemizedlist>
+ For a more detailed list of distributions that support the
+ Yocto Project, see the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
+ section in the Yocto Project Reference Manual.
</para>
<para>
- The names of the tarball installer scripts are such that a
- string representing the host system appears first in the
- filename and then is immediately followed by a string
- representing the target architecture.
- </para>
-
- <literallayout class='monospaced'>
- poky-glibc-<replaceable>host_system</replaceable>-<replaceable>image_type</replaceable>-<replaceable>arch</replaceable>-toolchain-<replaceable>release_version</replaceable>.sh
-
- Where:
- <replaceable>host_system</replaceable> is a string representing your development system:
-
- i686 or x86_64.
-
- <replaceable>image_type</replaceable> is a string representing the image you wish to
- develop a Software Development Toolkit (SDK) for use against.
- The Yocto Project builds toolchain installers using the
- following BitBake command:
-
- bitbake core-image-sato -c populate_sdk
-
- <replaceable>arch</replaceable> is a string representing the tuned target architecture:
-
- i586, x86_64, powerpc, mips, armv7a or armv5te
-
- <replaceable>release_version</replaceable> is a string representing the release number of the
- Yocto Project:
-
- &DISTRO;, &DISTRO;+snapshot
- </literallayout>
-
- <para>
- For example, the following toolchain installer is for a 64-bit
- development host system and a i586-tuned target architecture
- based off the SDK for <filename>core-image-sato</filename>:
- <literallayout class='monospaced'>
- poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
- </literallayout>
+ The OpenEmbedded build system should be able to run on any
+ modern distribution that has the following versions for
+ Git, tar, and Python.
+ <itemizedlist>
+ <listitem><para>
+ Git 1.7.8 or greater
+ </para></listitem>
+ <listitem><para>
+ tar 1.24 or greater
+ </para></listitem>
+ <listitem><para>
+ Python 2.7.3 or greater excluding Python
+ 3.x, which is not supported.
+ </para></listitem>
+ </itemizedlist>
+ If your build host does not meet any of these three listed
+ version requirements, you can take steps to prepare the
+ system so that you can still use the Yocto Project.
+ See the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>"
+ section in the Yocto Project Reference Manual for information.
</para>
+ </section>
- <para>
- Toolchains are self-contained and by default are installed into
- <filename>/opt/poky</filename>.
- However, when you run the toolchain installer, you can choose an
- installation directory.
- </para>
+ <section id='packages'>
+ <title>The Build Host Packages</title>
<para>
- The following command shows how to run the installer given a toolchain tarball
- for a 64-bit x86 development host system and a 32-bit x86 target architecture.
- You must change the permissions on the toolchain
- installer script so that it is executable.
+ Required build host packages vary depending on your
+ build machine and what you want to do with the Yocto Project.
+ For example, if you want to build an image that can run
+ on QEMU in graphical mode (a minimal, basic build
+ requirement), then the build host package requirements
+ are different than if you want to build an image on a headless
+ system or build out the Yocto Project documentation set.
</para>
<para>
- The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>.
+ Collectively, the number of required packages is large
+ if you want to be able to cover all cases.
<note>
- If you do not have write permissions for the directory into which you are installing
- the toolchain, the toolchain installer notifies you and exits.
- Be sure you have write permissions in the directory and run the installer again.
+ In general, you need to have root access and then install
+ the required packages.
+ Thus, the commands in the following section may or may
+ not work depending on whether or not your Linux
+ distribution has <filename>sudo</filename> installed.
</note>
</para>
<para>
- <literallayout class='monospaced'>
- $ ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
- </literallayout>
- </para>
-
- <para>
- For more information on how to install tarballs, see the
- "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" and
- "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>" sections in the Yocto Project Application Developer's Guide.
- </para>
- </section>
-
- <section id='downloading-the-pre-built-linux-kernel'>
- <title>Downloading the Pre-Built Linux Kernel</title>
-
- <para>
- You can download the pre-built Linux kernel suitable for running in the QEMU emulator from
- <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>.
- Be sure to use the kernel that matches the architecture you want to simulate.
- Download areas exist for the five supported machine architectures:
- <filename>qemuarm</filename>, <filename>qemumips</filename>, <filename>qemuppc</filename>,
- <filename>qemux86</filename>, and <filename>qemux86-64</filename>.
- </para>
-
- <para>
- Most kernel files have one of the following forms:
- <literallayout class='monospaced'>
- *zImage-qemu<replaceable>arch</replaceable>.bin
- vmlinux-qemu<replaceable>arch</replaceable>.bin
-
- Where:
- <replaceable>arch</replaceable> is a string representing the target architecture:
- x86, x86-64, ppc, mips, or arm.
- </literallayout>
- </para>
-
- <para>
- You can learn more about downloading a Yocto Project kernel in the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Yocto Project Kernel</ulink>"
- bulleted item in the Yocto Project Development Manual.
- </para>
- </section>
-
- <section id='downloading-the-filesystem'>
- <title>Downloading the Filesystem</title>
-
- <para>
- You can also download the filesystem image suitable for your target architecture from
- <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>.
- Again, be sure to use the filesystem that matches the architecture you want
- to simulate.
- </para>
-
- <para>
- The filesystem image has two tarball forms: <filename>ext3</filename> and
- <filename>tar</filename>.
- You must use the <filename>ext3</filename> form when booting an image using the
- QEMU emulator.
- The <filename>tar</filename> form can be flattened out in your host development system
- and used for build purposes with the Yocto Project.
- <literallayout class='monospaced'>
- core-image-<replaceable>profile</replaceable>-qemu<replaceable>arch</replaceable>.ext3
- core-image-<replaceable>profile</replaceable>-qemu<replaceable>arch</replaceable>.tar.bz2
-
- Where:
- <replaceable>profile</replaceable> is the filesystem image's profile:
- lsb, lsb-dev, lsb-sdk, lsb-qt3, minimal, minimal-dev, sato,
- sato-dev, or sato-sdk. For information on these types of image
- profiles, see the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
- chapter in the Yocto Project Reference Manual.
-
- <replaceable>arch</replaceable> is a string representing the target architecture:
- x86, x86-64, ppc, mips, or arm.
- </literallayout>
+ The following list shows the required packages needed to build
+ an image that runs on QEMU in graphical mode (e.g. essential
+ plus graphics support).
+ For lists of required packages for other scenarios, see the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
+ section in the Yocto Project Reference Manual.
+ <itemizedlist>
+ <listitem><para><emphasis>Ubuntu and Debian</emphasis>
+ <literallayout class='monospaced'>
+ $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm
+ </literallayout>
+ </para></listitem>
+ <listitem><para><emphasis>Fedora</emphasis>
+ <literallayout class='monospaced'>
+ $ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
+ </literallayout>
+ </para></listitem>
+ <listitem><para><emphasis>OpenSUSE</emphasis>
+ <literallayout class='monospaced'>
+ $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm
+ </literallayout>
+ </para></listitem>
+ <listitem><para><emphasis>CentOS</emphasis>
+ <literallayout class='monospaced'>
+ $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
+ </literallayout>
+ <note>
+ CentOS 6.x users need to ensure that the required
+ versions of Git, tar and Python are available.
+ For details, See the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>"
+ section in the Yocto Project Reference Manual for
+ information.
+ </note>
+ </para></listitem>
+ </itemizedlist>
</para>
</section>
- <section id='setting-up-the-environment-and-starting-the-qemu-emulator'>
- <title>Setting Up the Environment and Starting the QEMU Emulator</title>
-
- <para>
- Before you start the QEMU emulator, you need to set up the emulation environment.
- The following command form sets up the emulation environment.
- <literallayout class='monospaced'>
- $ source &YOCTO_ADTPATH_DIR;/environment-setup-<replaceable>arch</replaceable>-poky-linux-<replaceable>if</replaceable>
-
- Where:
- <replaceable>arch</replaceable> is a string representing the target architecture:
- i586, x86_64, ppc603e, mips, or armv5te.
-
- <replaceable>if</replaceable> is a string representing an embedded application binary interface.
- Not all setup scripts include this string.
- </literallayout>
- </para>
+ <section id='releases'>
+ <title>Yocto Project Release</title>
<para>
- Finally, this command form invokes the QEMU emulator
- <literallayout class='monospaced'>
- $ runqemu <replaceable>qemuarch</replaceable> <replaceable>kernel-image</replaceable> <replaceable>filesystem-image</replaceable>
-
- Where:
- <replaceable>qemuarch</replaceable> is a string representing the target architecture: qemux86, qemux86-64,
- qemuppc, qemumips, or qemuarm.
-
- <replaceable>kernel-image</replaceable> is the architecture-specific kernel image.
-
- <replaceable>filesystem-image</replaceable> is the .ext3 filesystem image.
-
- </literallayout>
+ The last requirement you need to meet before using the
+ Yocto Project is getting a Yocto Project release.
+ It is recommended that you get the latest Yocto Project release
+ by setting up (cloning in
+ <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> terms) a
+ local copy of the <filename>poky</filename> Git repository on
+ your build host and then checking out the latest release.
+ Doing so allows you to easily update to newer Yocto Project
+ releases as well as contribute back to the Yocto Project.
</para>
<para>
- Continuing with the example, the following two commands setup the emulation
- environment and launch QEMU.
- This example assumes the root filesystem (<filename>.ext3</filename> file) and
- the pre-built kernel image file both reside in your home directory.
- The kernel and filesystem are for a 32-bit target architecture.
+ Here is an example from an Ubuntu build host that clones the
+ <filename>poky</filename> repository and then checks out the
+ latest Yocto Project Release (i.e. &DISTRO;):
<literallayout class='monospaced'>
- $ cd $HOME
- $ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux
- $ runqemu qemux86 bzImage-qemux86.bin \
- core-image-sato-qemux86.ext3
+ $ git clone git://git.yoctoproject.org/poky
+ Cloning into 'poky'...
+ remote: Counting objects: 226790, done.
+ remote: Compressing objects: 100% (57465/57465), done.
+ remote: Total 226790 (delta 165212), reused 225887 (delta 164327)
+ Receiving objects: 100% (226790/226790), 100.98 MiB | 263 KiB/s, done.
+ Resolving deltas: 100% (165212/165212), done.
+ $ git checkout &DISTRO_NAME;
</literallayout>
+ You can also get the Yocto Project Files by downloading
+ Yocto Project releases from the
+ <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>.
</para>
<para>
- The environment in which QEMU launches varies depending on the filesystem image and on the
- target architecture.
- For example, if you source the environment for the ARM target
- architecture and then boot the minimal QEMU image, the emulator comes up in a new
- shell in command-line mode.
- However, if you boot the SDK image, QEMU comes up with a GUI.
- <note>Booting the PPC image results in QEMU launching in the same shell in
- command-line mode.</note>
+ For more information on getting set up with the Yocto Project
+ release, see the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto Project Release</ulink>"
+ item in the Yocto Project Development Manual.
</para>
</section>
</section>
- <para>
- For more detailed information on using the Yocto Project for
- image and application develop, the best place to continue reading is
- in the
- <ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Manual</ulink>.
- </para>
-</section>
+ <section id='qs-building-images'>
+ <title>Building Images</title>
-<section id='super-user'>
- <title>Super User
-</title>
-
- <para>
- This section provides minimal instruction for using the Yocto Project
- to build an image for Beaglebone hardware and for building and
- booting an image for the third-party
- <ulink url='http://www.minnowboard.org/meet-minnowboard-max/'>MinnowBoard MAX</ulink>.
- <note>
- The steps used in this section were performed on a 64-bit
- Ubuntu 14.10 system that has four cores.
- </note>
- </para>
-
- <section id='building-beaglebone-from-scratch'>
- <title>Building Beaglebone from Scratch</title>
+ <para>
+ Now that you have your system requirements in order, you can give
+ the Yocto Project a try.
+ This section presents steps that let you do the following:
+ <itemizedlist>
+ <listitem><para>
+ Build a <filename>qemux86</filename> reference image
+ and run it in the QEMU emulator.
+ </para></listitem>
+ <listitem><para>
+ Easily change configurations so that you can quickly
+ create a second image, which would be for MinnowBoard
+ MAX-compatible boards.
+ </para></listitem>
+ </itemizedlist>
+ <note>
+ The steps in this section do not provide detail, but rather
+ provide minimal, working commands and examples designed to
+ just get you started.
+ For more details, see the appropriate manuals in the
+ <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>.
+ </note>
+ </para>
<para>
- This section
- <footnote>
+ Use the following commands to build your image.
+ The OpenEmbedded build system creates an entire Linux
+ distribution, including the toolchain, from source.
+ <note><title>Note about Network Proxies</title>
<para>
- Kudos and thanks to Robert P. J. Day of
- <ulink url='http://www.crashcourse.ca'>CrashCourse</ulink>
- for providing the basis for this "expert" section with
- information from one of his
- <ulink url='http://www.crashcourse.ca/wiki/index.php/Yocto_Project_Quick_Start'>wiki</ulink>
- pages.
+ By default, the build process searches for source code
+ using a pre-determined order through a set of
+ locations.
+ If you are working behind a firewall and your build
+ host is not set up for proxies, you could encounter
+ problems with the build process when fetching source
+ code (e.g. fetcher failures or Git failures).
</para>
- </footnote>
- gives you a minimal description of how to use the Yocto Project to
- build images for Beaglebone hardware starting from scratch.
- </para>
- <section id='getting-yocto'>
- <title>Getting the Yocto Project</title>
+ <para>
+ If you do not know your proxy settings, consult your
+ local network infrastructure resources and get that
+ information.
+ A good starting point could also be to check your web
+ browser settings.
+ Finally, you can find more information on using the
+ Yocto Project behind a firewall in the Yocto Project
+ Reference Manual
+ <ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>FAQ</ulink>
+ and on the
+ "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>"
+ wiki page.
+ </para>
+ </note>
+ </para>
- <para>
- Set up your
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
- by using Git to clone the <filename>poky</filename>
- repository and then check out the release branch:
- <literallayout class='monospaced'>
- $ cd ~
- $ git clone git://git.yoctoproject.org/poky
- $ cd poky
+ <para>
+ <orderedlist>
+ <listitem><para><emphasis>Be Sure Your Build Host is Set Up:</emphasis>
+ The steps to build an image in this section depend on
+ your build host being properly set up.
+ Be sure you have worked through the requirements
+ described in the
+ "<link linkend='yp-resources'>Setting Up to Use the Yocto Project</link>"
+ section.
+ </para></listitem>
+ <listitem><para><emphasis>Check Out Your Branch:</emphasis>
+ Be sure you are in the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
+ (e.g. <filename>poky</filename>) and then check out
+ the branch associated with the latest Yocto Project
+ Release:
+ <literallayout class='monospaced'>
+ $ cd ~/poky
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
- </literallayout>
- </para>
- </section>
-
- <section id='setting-up-your-host'>
- <title>Setting Up Your Host</title>
-
- <para>
- You need some packages for everything to work.
- Rather than duplicate them here, look at the
- "<link linkend='packages'>The Packages</link>"
- section earlier in this quick start.
- </para>
- </section>
-
- <section id='initializing-the-build-environment'>
- <title>Initializing the Build Environment</title>
-
- <para>
- From the root directory of your
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
- initialize your environment and provide a meaningful
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
- name:
- <literallayout class='monospaced'>
- $ source &OE_INIT_FILE; mybuilds
- </literallayout>
- At this point, the <filename>mybuilds</filename> directory has
- been created for you and it is now your current working directory.
- If you do not provide your own directory name,
- it defaults to <filename>build</filename>,
- which is inside the Source Directory.
- </para>
- </section>
-
- <section id='configuring-the-local.conf-file'>
- <title>Configuring the local.conf File</title>
-
- <para>
- Initializing the build environment creates a
- <filename>conf/local.conf</filename> configuration file
- in the Build Directory.
- You need to manually edit this file to specify the machine you
- are building:
- <literallayout class='monospaced'>
- MACHINE ?= "beaglebone"
- </literallayout>
- </para>
-
- <para>
- A good deal that goes into a Yocto Project build is simply
- downloading all of the source tarballs.
- Steps exist that can help you be more efficient with gathering
- source files.
- For example, you can set up local mirrors that hold your
- source tarballs or you can pre-fetch all your source without
- initiating a build until later.
- For more information, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-source-files'>Working with Source Files</ulink>"
- section in the Yocto Project Development Manual.
- </para>
- </section>
-
- <section id='building-the-image'>
- <title>Building the Image</title>
-
- <para>
- At this point, you need to select an image to build for the
- Beaglebone hardware.
- If this is your first build using the Yocto Project, you should
- try the smallest and simplest image:
- <literallayout class='monospaced'>
- $ bitbake core-image-minimal
- </literallayout>
- Now you just wait for the build to finish.
- </para>
-
- <para>
- You might encounter various warning messages during the
- build.
- For example, if a source file fetch initially fails,
- the OpenEmbedded build system notes that and attempts to
- find the files using mirrors.
- Another example could be values requested for but not
- found in the final kernel <filename>.config</filename>
- file.
- For information on configuration warnings, see the
- "<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>"
- section in the Yocto Project Linux Kernel Development Manual.
- </para>
-
- <para>
- By default, BitBake aborts when it encounters an error during
- the build.
- If you want to make sure the build continues even when BitBake
- encounters an error, use this variation:
- <literallayout class='monospaced'>
- $ bitbake -k core-image-minimal
- </literallayout>
- </para>
-
- <para>
- Once you have your image, you can take steps to load and boot
- it on the target hardware.
- </para>
-
- <para>
- You can learn about BitBake in general by reading the
- <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
- </para>
- </section>
- </section>
-
- <section id='building-and-booting-minnowboard-max'>
- <title>Building and Booting MinnowBoard MAX</title>
+ </literallayout>
+ Git's <filename>checkout</filename> command checks out
+ the current Yocto Project release into a local branch
+ whose name matches the release (i.e.
+ <filename>&DISTRO_NAME;</filename>).
+ The local branch tracks the upstream branch of the
+ same name.
+ Creating your own branch based on the released
+ branch ensures you are using the latest files for
+ that release.
+ </para></listitem>
+ <listitem><para><emphasis>Initialize the Build Environment:</emphasis>
+ Run the
+ <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
+ environment setup script to define the OpenEmbedded
+ build environment on your build host.
+ <literallayout class='monospaced'>
+ $ source &OE_INIT_FILE;
+ </literallayout>
+ Among other things, the script creates the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
+ which is <filename>build</filename> in this case
+ and is located in the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
+ After the script runs, your current working directory
+ is set to the Build Directory.
+ Later, when the build completes, the Build Directory
+ contains all the files created during the build.
+ <note>
+ For information on running a memory-resident
+ <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>,
+ see the
+ <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>
+ setup script.
+ </note>
+ </para></listitem>
+ <listitem><para><emphasis>Examine Your Local Configuration File:</emphasis>
+ When you set up the build environment, a local
+ configuration file named
+ <filename>local.conf</filename> becomes available in
+ a <filename>conf</filename> subdirectory of the
+ Build Directory.
+ Before using BitBake to start the build, you can
+ look at this file and be sure your general
+ configurations are how you want them:
+ <itemizedlist>
+ <listitem><para>
+ To help conserve disk space during builds,
+ you can add the following statement to your
+ project's configuration file, which for this
+ example is
+ <filename>poky/build/conf/local.conf</filename>.
+ Adding this statement deletes the work
+ directory used for building a recipe once the
+ recipe is built.
+ <literallayout class='monospaced'>
+ INHERIT += "rm_work"
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ By default, the target machine for the build is
+ <filename>qemux86</filename>,
+ which produces an image that can be used in
+ the QEMU emulator and is targeted at an
+ <trademark class='registered'>Intel</trademark>
+ 32-bit based architecture.
+ Further on in this example, this default is
+ easily changed through the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
+ variable so that you can quickly
+ build an image for a different machine.
+ </para></listitem>
+ <listitem><para>
+ Another consideration before you build is the
+ package manager used when creating the image.
+ The default <filename>local.conf</filename>
+ file selects the RPM package manager.
+ You can control this configuration by using the
+ <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename>
+ variable.</para>
+ <para>Selection of the package manager is separate
+ from whether package management is used at runtime
+ in the target image.</para>
+ <para>For additional package manager selection
+ information, see the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package*.bbclass</filename></ulink>"
+ section in the Yocto Project Reference Manual.
+ </para></listitem>
+ </itemizedlist>
+ </para></listitem>
+ <listitem><para><emphasis>Start the Build:</emphasis>
+ Continue with the following command to build an OS image
+ for the target, which is
+ <filename>core-image-sato</filename> in this example:
+ <note>
+ Depending on the number of processors and cores, the
+ amount of RAM, the speed of your Internet connection
+ and other factors, the build process could take several
+ hours the first time you run it.
+ Subsequent builds run much faster since parts of the
+ build are cached.
+ </note>
+ <literallayout class='monospaced'>
+ $ bitbake core-image-sato
+ </literallayout>
+ For information on using the
+ <filename>bitbake</filename> command, see the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
+ section in the Yocto Project Reference Manual, or see the
+ "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>"
+ section in the BitBake User Manual.
+ For information on other targets, see the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
+ chapter in the Yocto Project Reference Manual.
+ </para></listitem>
+ <listitem><para><emphasis>Simulate Your Image Using QEMU:</emphasis>
+ Once this particular image is built, you can start QEMU
+ and run the image:
+ <literallayout class='monospaced'>
+ $ runqemu qemux86
+ </literallayout>
+ If you want to learn more about running QEMU, see the
+ "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>"
+ chapter in the Yocto Project Development Manual.
+ </para></listitem>
+ <listitem><para><emphasis>Exit QEMU:</emphasis>
+ Exit QEMU by either clicking on the shutdown icon or by
+ opening a terminal, typing
+ <filename>poweroff</filename>, and then pressing "Enter".
+ </para></listitem>
+ </orderedlist>
+ </para>
<para>
- As of the Yocto Project 1.6 release, the MinnowBoard MAX is
+ The following steps show how easy it is to set up to build an
+ image for a new machine.
+ These steps build an image for the MinnowBoard MAX, which is
supported by the Yocto Project and the
- <filename>meta-intel</filename>
- <filename>intel-corei7-64</filename> and
- <filename>intel-core2-32</filename> Board Support Packages (BSPs).
+ <filename>meta-intel</filename> <filename>intel-corei7-64</filename>
+ and <filename>intel-core2-32</filename> Board Support Packages
+ (BSPs).
<note>
The MinnowBoard MAX ships with 64-bit firmware.
If you want to use the board in 32-bit mode, you must
@@ -1047,78 +603,46 @@
</note>
</para>
- <section id='mm-getting-yocto-and-meta-intel'>
- <title>Getting the Yocto Project and <filename>meta-intel</filename></title>
-
- <para>
- Set up your
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
- and the <filename>meta-intel</filename> layer
- by using Git to clone the <filename>poky</filename>
- and <filename>meta-intel</filename> repositories.
- These commands use the "&DISTRO_NAME;" branch:
- <literallayout class='monospaced'>
- $ cd ~
- $ mkdir source
- $ cd source
- $ git clone -b &DISTRO_NAME; git://git.yoctoproject.org/poky
- $ cd poky
- $ git clone -b &DISTRO_NAME; git://git.yoctoproject.org/meta-intel
- </literallayout>
- </para>
- </section>
-
- <section id='mm-setting-up-your-host'>
- <title>Setting Up Your Host</title>
-
- <para>
- You need some packages for everything to work.
- Rather than duplicate them here, look at the
- "<link linkend='packages'>The Packages</link>"
- section earlier in this quick start.
- </para>
- </section>
-
- <section id='mm-initializing-the-build-environment'>
- <title>Initializing the Build Environment</title>
-
- <para>
- From the root directory of your
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
- initialize your environment by running the build environment
- initialization script:
- <literallayout class='monospaced'>
- $ source &OE_INIT_FILE;
- </literallayout>
- At this point, the <filename>build</filename> directory has
- been created for you and it is now your current working
- directory.
- </para>
- </section>
-
- <section id='mm-configure-the-build'>
- <title>Configure the Build</title>
-
- <para>
- To configure the build, you edit the
- <filename>bblayers.conf</filename> and
- <filename>local.conf</filename> files, both of which are
- located in the <filename>build/conf</filename> directory.
- </para>
+ <para>
+ <orderedlist>
+ <listitem><para><emphasis>Create a Local Copy of the
+ <filename>meta-intel</filename> Repository:</emphasis>
+ Building an image for the MinnowBoard MAX requires the
+ <filename>meta-intel</filename> layer.
+ Use the <filename>git clone</filename> command to create
+ a local copy of the repository:
+ <literallayout class='monospaced'>
+ $ git clone git://git.yoctoproject.org/meta-intel
+ Cloning into 'meta-intel'...
+ remote: Counting objects: 10824, done.
+ remote: Compressing objects: 100% (3508/3508), done.
+ remote: Total 10824 (delta 6219), reused 10580 (delta 5975)
+ Receiving objects: 100% (10824/10824), 2.72 MiB | 482.00 KiB/s, done.
+ Resolving deltas: 100% (6219/6219), done.
+ Checking connectivity... done.
+ </literallayout>
+ </para></listitem>
+ <listitem><para><emphasis>Configure the Build:</emphasis>
+ To configure the build, you edit the
+ <filename>bblayers.conf</filename> and
+ <filename>local.conf</filename> files, both of which are
+ located in the <filename>build/conf</filename> directory.
+ </para>
- <para>
- Here is a quick way to make the edits.
- The first command adds the <filename>meta-intel</filename>
- branch, which contains the <filename>intel-core*</filename>
- BSPs to the build.
- The second command selects the BSP by setting the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
- variable.
- <literallayout class='monospaced'>
- $ echo 'BBLAYERS += "~/source/poky/meta-intel"' >> conf/bblayers.conf
+ <para>Here is a quick way to make the edits.
+ The first command uses the
+ <filename>bitbake-layers add-layer</filename> command
+ to add the <filename>meta-intel</filename>
+ layer, which contains the <filename>intel-core*</filename>
+ BSPs to the build.
+ The second command selects the BSP by setting the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
+ variable.
+ <literallayout class='monospaced'>
+ $ bitbake-layers add-layer "$HOME/source/poky/meta-intel"
$ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf
- </literallayout>
- <note><title>Notes</title>
+ </literallayout>
+ <note><title>Notes</title>
<para>
If you want a 64-bit build, use the following:
<literallayout class='monospaced'>
@@ -1132,98 +656,139 @@
$ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf
</literallayout>
</para>
- </note>
- </para>
- </section>
-
- <section id='mm-build-the-image'>
- <title>Build the Image</title>
-
- <para>
- Use this command to build the minimal image for
- MinnowBoard MAX:
- <literallayout class='monospaced'>
+ </note>
+ </para></listitem>
+ <listitem><para><emphasis>Build a Minimal Image for MinnowBoard MAX:</emphasis>
+ Use the following command to build the minimal image for
+ MinnowBoard MAX.
+ Because configuration changes are minimal to set up for
+ this second build, the OpenEmbedded build system can
+ re-use files from previous builds as much as possible.
+ Re-using files means this second build will be much faster
+ than an initial build.
+ <literallayout class='monospaced'>
$ bitbake core-image-minimal
- </literallayout>
- Once the build completes, the resulting basic console image
- is located in the Build Directory here:
- <literallayout class='monospaced'>
+ </literallayout>
+ Once the build completes, the resulting basic console image
+ is located in the Build Directory here:
+ <literallayout class='monospaced'>
tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg
- </literallayout>
- </para>
- </section>
-
- <section id='mm-write-the-image'>
- <title>Write the Image</title>
-
- <para>
- You can write the image to a USB key, SATA drive, or SD card
- by using the <filename>mkefidisk.sh</filename> script,
- which is included in the <filename>poky</filename>
- repository at <filename>scripts/contrib/mkefidisk.sh</filename>:
- <literallayout class='monospaced'>
+ </literallayout>
+ </para></listitem>
+ <listitem><para><emphasis>Write the Image:</emphasis>
+ You can write the image to a USB key, SATA drive, or SD
+ card by using the <filename>mkefidisk.sh</filename> script,
+ which is included in the <filename>poky</filename>
+ repository at
+ <filename>scripts/contrib/mkefidisk.sh</filename>:
+ <literallayout class='monospaced'>
$ sudo $HOME/source/poky/scripts/contrib/mkefidisk.sh <replaceable>HOST_DEVICE</replaceable> \
tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg <replaceable>TARGET_DEVICE</replaceable>
- </literallayout>
- In the previous command, <replaceable>HOST_DEVICE</replaceable>
- is the device node on the build system (e.g.
- <filename>/dev/sdc</filename> or
- <filename>/dev/mmcblk0</filename>).
- <replaceable>TARGET_DEVICE</replaceable> is the name of the
- device as the MinnowBoard MAX sees it (e.g.
- <filename>/dev/sda</filename> or
- <filename>/dev/mmcblk0</filename>).
- </para>
- </section>
-
- <section id='mm-boot-the-image'>
- <title>Boot the Image</title>
-
- <para>
- With the boot device provisioned, you can insert the media into
- the MinnowBoard MAX and boot the hardware.
- The board should automatically detect the media and boot to
- the bootloader and subsequently the operating system.
- </para>
+ </literallayout>
+ In the previous command,
+ <replaceable>HOST_DEVICE</replaceable> is the device node
+ on the build host (e.g. <filename>/dev/sdc</filename> or
+ <filename>/dev/mmcblk0</filename>).
+ <replaceable>TARGET_DEVICE</replaceable> is the name of the
+ device as the MinnowBoard MAX sees it (e.g.
+ <filename>/dev/sda</filename> or
+ <filename>/dev/mmcblk0</filename>).
+ </para></listitem>
+ <listitem><para><emphasis>Boot the Hardware:</emphasis>
+ With the boot device provisioned, you can insert the
+ media into the MinnowBoard MAX and boot the hardware.
+ The board should automatically detect the media and boot to
+ the bootloader and subsequently the operating system.
+ </para>
- <para>
- If the board does not boot automatically, you can boot it
- manually from the EFI shell as follows:
- <literallayout class='monospaced'>
+ <para>If the board does not boot automatically, you can
+ boot it manually from the EFI shell as follows:
+ <literallayout class='monospaced'>
Shell> connect -r
Shell> map -r
Shell> fs0:
Shell> bootx64
- </literallayout>
- <note>
- For a 32-bit image use the following:
- <literallayout class='monospaced'>
- Shell> bootia32
</literallayout>
- </note>
- </para>
- </section>
+ <note>
+ For a 32-bit image use the following:
+ <literallayout class='monospaced'>
+ Shell> bootia32
+ </literallayout>
+ </note>
+ </para></listitem>
+ </orderedlist>
+ </para>
+ </section>
- <section id='mm-next-steps'>
- <title>Next Steps</title>
+ <section id='qs-next-steps'>
+ <title>Next Steps</title>
- <para>
- Now that you can build a basic image, you could experiment
- by building some other example images:
- <literallayout class='monospaced'>
- $ bitbake core-image-sato
- $ bitbake core-image-sato-sdk
- </literallayout>
- Another possibility is to experiment creating your own image
- recipes that add packages to suit your needs.
- For information on how to create recipes, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#new-recipe-writing-a-new-recipe'>Writing a New Recipe</ulink>"
- section in the Yocto Project Development Manual.
- </para>
- </section>
- </section>
-</section>
+ <para>
+ If you completed all the steps in the previous section then
+ congratulations to you!
+ What now?
+ </para>
+ <para>
+ Depending on what you primary interests are with the Yocto Project,
+ you could consider any of the following:
+ <itemizedlist>
+ <listitem><para><emphasis>Visit the Yocto Project Web Site:</emphasis>
+ The official
+ <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink>
+ web site contains information on the entire project.
+ Visiting this site is a good way to familiarize yourself
+ with the overall project.
+ </para></listitem>
+ <listitem><para><emphasis>Explore Development Models:</emphasis>
+ You can see the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-model'>Common Development Models</ulink>"
+ section in the Yocto Project Development Manual
+ to get an overview of the various ways by which
+ you can use the Yocto Project to develop projects.
+ </para></listitem>
+ <listitem><para><emphasis>Learn Some Open Source Basics:</emphasis>
+ If you are new to the open source environment, you might
+ read the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-newbie'>The Yocto Project Open Source Development Environment</ulink>"
+ chapter of the Yocto Project Development Manual.
+ This chapter presents overview material for open source
+ development in the context of the Yocto Project.
+ </para></listitem>
+ <listitem><para><emphasis>Learn About Application Development:</emphasis>
+ If your primary interests lie in developing applications,
+ you can reference the
+ <ulink url='&YOCTO_DOCS_ADT_URL;#adt-manual-intro'>Yocto Project Application Developer's Guide</ulink>.
+ </para></listitem>
+ <listitem><para><emphasis>Learn About Board Support Packages (BSPs):</emphasis>
+ If you want to learn about BSPs, see the
+ <ulink url='&YOCTO_DOCS_BSP_URL;#bsp'>Yocto Project Board Support Packages (BSP) Developer's Guide</ulink>.
+ </para></listitem>
+ <listitem><para><emphasis>Learn About Using Eclipse With the Yocto Project:</emphasis>
+ If you are an Eclipse user, you can learn about using the
+ Yocto Project in that development environment by reading
+ the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#workflow-using-the-adt-and-eclipse'>Workflow Using the ADT and Eclipseâ„¢</ulink>"
+ section in the Yocto Project Development Manual.
+ </para></listitem>
+ <listitem><para><emphasis>Learn About Toaster:</emphasis>
+ Toaster is a web interface to the Yocto Project's
+ OpenEmbedded build system.
+ If you are interested in using this type of interface to
+ create images, see the
+ <ulink url='&YOCTO_DOCS_TOAST_URL;#toaster-manual-intro'>Toaster User Manual</ulink>.
+ </para></listitem>
+ <listitem><para><emphasis>Explore Yocto Project Common Tasks and Technical Details:</emphasis>
+ If you are interested in a mix of common tasks that have to
+ do with project develop using the Yocto Project, see the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#extendpoky'>Common Tasks</ulink>"
+ section of the Yocto Project Development Manual.
+ If you want more detail, see the
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-manual-intro'>Yocto Project Reference Manual</ulink>.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
</article>
<!--
vim: expandtab tw=80 ts=4