generic-poky/documentation/poky-ref-manual/ref-images.xml

134 lines
8.3 KiB
XML

<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='ref-images'>
<title>Images</title>
<para>
The OpenEmbedded build process supports several types of images to satisfy different needs.
When you issue the <filename>bitbake</filename> command you provide a “top-level” recipe
that essentially begins the build for the type of image you want.
</para>
<note>
Building an image without GNU Public License Version 3 (GPLv3) components is
only supported for minimal and base images.
Furthermore, if you are going to build an image using non-GPLv3 components,
you must make the following changes in the <filename>local.conf</filename> file
before using the BitBake command to build the minimal or base image:
<literallayout class='monospaced'>
1. Comment out the EXTRA_IMAGE_FEATURES line
2. Set INCOMPATIBLE_LICENSE = "GPLv3"
</literallayout>
</note>
<para>
From within the <filename>poky</filename> Git repository, use the following command to list
the supported images:
<literallayout class='monospaced'>
$ ls meta*/recipes*/images/*.bb
</literallayout>
These recipes reside in the <filename>meta/recipes-core/images</filename>,
<filename>meta/recipes-extended/images</filename>,
<filename>meta/recipes-graphics/images</filename>, and
<filename>meta/recipes-sato/images</filename> directories
within the <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
Although the recipe names are somewhat explanatory, here is a list that describes them:
</para>
<itemizedlist>
<listitem><para><emphasis><filename>core-image-base</filename>:</emphasis>
A console-only image that fully supports the target device hardware.</para></listitem>
<listitem><para><emphasis><filename>core-image-core</filename>:</emphasis>
An X11 image with simple applications such as terminal, editor, and file manager.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal</filename>:</emphasis>
A small image just capable of allowing a device to boot.</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-dev</filename>:</emphasis>
A <filename>core-image-minimal</filename> image suitable for development work
using the host.
The image includes headers and libraries you can use in a host development
environment.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-initramfs</filename>:</emphasis>
A <filename>core-image-minimal</filename> image that has the Minimal RAM-based
Initial Root Filesystem (<filename>initramfs</filename>) as part of the kernel,
which allows the system to find the first “init” program more efficiently.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-mtdutils</filename>:</emphasis>
A <filename>core-image-minimal</filename> image that has support
for the Minimal MTD Utilities, which let the user interact with the
MTD subsystem in the kernel to perform operations on flash devices.
</para></listitem>
<listitem><para><emphasis><filename>core-image-basic</filename>:</emphasis>
A foundational basic image without support for X that can be reasonably used for
customization.</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb</filename>:</emphasis>
A <filename>core-image-basic</filename> image suitable for implementations
that conform to Linux Standard Base (LSB).</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-dev</filename>:</emphasis>
A <filename>core-image-lsb</filename> image that is suitable for development work
using the host.
The image includes headers and libraries you can use in a host development
environment.
</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-sdk</filename>:</emphasis>
A <filename>core-image-lsb</filename> that includes everything in meta-toolchain
but also includes development headers and libraries to form a complete standalone SDK.
This image is suitable for development using the target.</para></listitem>
<listitem><para><emphasis><filename>core-image-clutter</filename>:</emphasis>
An image with support for the Open GL-based toolkit Clutter, which enables development of
rich and animated graphical user interfaces.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato</filename>:</emphasis>
An image with Sato support, a mobile environment and visual style that works well
with mobile devices.
The image supports X11 with a Sato theme and Pimlico applications and also
contains terminal, editor, and file manager.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato-dev</filename>:</emphasis>
A <filename>core-image-sato</filename> image suitable for development
using the host.
The image includes libraries needed to build applications on the device itself,
testing and profiling tools, and debug symbols.
This image was formerly <filename>core-image-sdk</filename>.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato-sdk</filename>:</emphasis>
A <filename>core-image-sato</filename> image that includes everything in meta-toolchain.
The image also includes development headers and libraries to form a complete standalone SDK
and is suitable for development using the target.</para></listitem>
<listitem><para><emphasis><filename>core-image-rt</filename>:</emphasis>
A <filename>core-image-minimal</filename> image plus a real-time test suite and
tools appropriate for real-time use.</para></listitem>
<listitem><para><emphasis><filename>core-image-rt-sdk</filename>:</emphasis>
A <filename>core-image-rt</filename> image that includes everything in
<filename>meta-toolchain</filename>.
The image also includes development headers and libraries to form a complete
stand-alone SDK and is suitable for development using the target.</para></listitem>
<listitem><para><emphasis><filename>core-image-gtk-directfb</filename>:</emphasis>
An image that uses <filename>gtk+</filename> over <filename>directfb</filename>
instead of X11.
In order to build, this image requires specific distro configuration that enables
<filename>gtk</filename> over <filename>directfb</filename>.</para></listitem>
<listitem><para><emphasis><filename>build-appliance-image</filename>:</emphasis>
An image you can boot and run using either the
<ulink url='http://www.vmware.com/products/player/overview.html'>VMware Player</ulink>
or <ulink url='http://www.vmware.com/products/workstation/overview.html'>VMware Workstation</ulink>.
For more information on this image, see the
<ulink url='&YOCTO_HOME_URL;/documentation/build-appliance'>Build Appliance</ulink> page on
the Yocto Project website.</para></listitem>
</itemizedlist>
<tip>
From the Yocto Project release 1.1 onwards, <filename>-live</filename> and
<filename>-directdisk</filename> images have been replaced by a "live"
option in <filename>IMAGE_FSTYPES</filename> that will work with any image to produce an
image file that can be
copied directly to a CD or USB device and run as is.
To build a live image, simply add
"live" to <filename>IMAGE_FSTYPES</filename> within the <filename>local.conf</filename>
file or wherever appropriate and then build the desired image as normal.
</tip>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->