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
|
<!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-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 Poky SDK</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 Poky SDK</link> section for more information.
</para></listitem>
</itemizedlist>
<tip>
From Yocto release 1.1 onwards, -live and -directdisk images have been replaced by a "live"
option in IMAGE_FSTYPES 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 IMAGE_FSTYPES within local.conf or whereever appropriate and then build the desired
image as normal.
</tip>
</appendix>
<!--
vim: expandtab tw=80 ts=4
-->
|