<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<appendix id='ref-images'>
    <title>Reference: Images</title>

    <para>
        The Yocto Project 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 of your local Yocto Project 
        file structure (Git repository or extracted release tarball).  
        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.
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis><filename>core-image-minimal-directdisk</filename></emphasis> – A 
                    <filename>core-image-minimal</filename>  image that you can 
                    copy directly to the disk of the target device.
                </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-live</filename></emphasis> – A 
                    <filename>core-image-minimal</filename> image you can run from a 
                    USB device or CD as is.
                </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.
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis><filename>core-image-lsb-live</filename></emphasis> - A
                    <filename>core-image-lsb</filename> image that you run from a USB device or CD as is.
                </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. 
                    See the <link linkend='platdev-appdev-external-sdk'> 
                    External Development Using the Poky SDK</link> section for more information.
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis><filename>core-image-lsb-sdk-live</filename></emphasis> - A 
                    <filename>core-image-lsb-sdk</filename> image with the ability to run the image
                    from a USB device or CD as is.
                </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 interaces.
                </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
                    that also includes a native toolchain and libraries needed to build applications on 
                    the device itself. 
                    The image also includes testing and profiling tools as well as debug symbols.  
                    This image was formerly <filename>core-image-sdk</filename>.
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis><filename>core-image-sato-directdisk</filename></emphasis> - A
                    <filename>core-image-sato</filename> image that can be copied directly to the 
                    disk of the target device.
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis><filename>core-image-sato-live</filename></emphasis> - A
                    <filename>core-image-sato</filename> image with the ability to run 
                    from a USB device or CD as is.
                </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. 
                    See the <link linkend='platdev-appdev-external-sdk'> 
                    External Development Using the Poky SDK</link> section for more information..
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis><filename>core-image-sato-sdk-directdisk</filename></emphasis> - A
                    <filename>core-image-sato-sdk</filename> image that can be copied directly to the 
                    disk of the target device.
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis><filename>core-image-sato-sdk-live</filename></emphasis> - A
                    <filename>core-image-sato-sdk</filename> image that you can run  
                    from a USB device or CD as is.
                </para>
            </listitem>
    </itemizedlist>
</appendix>
<!-- 
vim: expandtab tw=80 ts=4 
-->
