aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/poky-ref-manual/ref-images.xml
blob: 29877fcea8b17da1bd3c44df95de5edbcd43c3b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE appendix 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; ] >

<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-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.
            </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 Meta-Toolchain</link>"
            section for more information.</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
            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-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 Meta-Toolchain</link>" 
            section for more information.</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.  
            See the "<link linkend='platdev-appdev-external-sdk'>External Development Using the Meta-Toolchain</link>"
            section for more information.</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>self-hosted-image</filename>:</emphasis>
            An image you can run using the Yocto Project Build Appliance.
            The image is suitable to load and boot from either 
            <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 the Build Appliance, 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>
</appendix>
<!-- 
vim: expandtab tw=80 ts=4 
-->