blob: 6f10a6fd2ace35b4386693d15c7feb6fe1380c1c [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
3[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
Andrew Geissler475cb722020-07-10 16:00:51 -05004<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005
6<chapter id='ref-images'>
7 <title>Images</title>
8
9 <para>
10 The OpenEmbedded build system provides several example
11 images to satisfy different needs.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050012 When you issue the <filename>bitbake</filename> command you provide a "top-level" recipe
Patrick Williamsc124f4f2015-09-15 14:41:29 -050013 that essentially begins the build for the type of image you want.
14 </para>
15
16 <note>
17 Building an image without GNU General Public License Version 3 (GPLv3),
18 GNU Lesser General Public License Version 3 (LGPLv3), and the
19 GNU Affero General Public License Version 3 (AGPL-3.0) components
20 is only supported for minimal and base images.
21 Furthermore, if you are going to build an image using non-GPLv3 and
22 similarly licensed components, you must make the following changes in
23 the <filename>local.conf</filename> file before using the BitBake
24 command to build the minimal or base image:
25 <literallayout class='monospaced'>
26 1. Comment out the EXTRA_IMAGE_FEATURES line
27 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
28 </literallayout>
29 </note>
30
31 <para>
32 From within the <filename>poky</filename> Git repository, you can use
33 the following command to display the list of directories within the
Brad Bishopd7bf8c12018-02-25 22:55:05 -050034 <link linkend='source-directory'>Source Directory</link>
35 that contain image recipe files:
Patrick Williamsc124f4f2015-09-15 14:41:29 -050036 <literallayout class='monospaced'>
37 $ ls meta*/recipes*/images/*.bb
38 </literallayout>
39 </para>
40
41 <para>
42 Following is a list of supported recipes:
43 <itemizedlist>
Brad Bishop316dfdd2018-06-25 12:45:53 -040044 <listitem><para>
45 <filename>build-appliance-image</filename>:
46 An example virtual machine that contains all the pieces
47 required to run builds using the build system as well as the
48 build system itself.
Patrick Williamsc124f4f2015-09-15 14:41:29 -050049 You can boot and run the image using either the
50 <ulink url='http://www.vmware.com/products/player/overview.html'>VMware Player</ulink>
Brad Bishop316dfdd2018-06-25 12:45:53 -040051 or
52 <ulink url='http://www.vmware.com/products/workstation/overview.html'>VMware Workstation</ulink>.
Patrick Williamsc124f4f2015-09-15 14:41:29 -050053 For more information on this image, see the
Brad Bishop316dfdd2018-06-25 12:45:53 -040054 <ulink url='&YOCTO_HOME_URL;/software-item/build-appliance/'>Build Appliance</ulink>
55 page on the Yocto Project website.
56 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050057 <listitem><para><filename>core-image-base</filename>:
58 A console-only image that fully supports the target device hardware.</para></listitem>
59 <listitem><para><filename>core-image-clutter</filename>:
60 An image with support for the Open GL-based toolkit Clutter, which enables development of
61 rich and animated graphical user interfaces.</para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050062 <listitem><para><filename>core-image-full-cmdline</filename>:
63 A console-only image with more full-featured Linux system
64 functionality installed.</para></listitem>
65 <listitem><para><filename>core-image-lsb</filename>:
66 An image that conforms to the Linux Standard Base (LSB)
67 specification.
68 This image requires a distribution configuration that
69 enables LSB compliance (e.g. <filename>poky-lsb</filename>).
70 If you build <filename>core-image-lsb</filename> without that
71 configuration, the image will not be LSB-compliant.
72 </para></listitem>
73 <listitem><para><filename>core-image-lsb-dev</filename>:
74 A <filename>core-image-lsb</filename> image that is suitable for development work
75 using the host.
76 The image includes headers and libraries you can use in a host development
77 environment.
78 This image requires a distribution configuration that
79 enables LSB compliance (e.g. <filename>poky-lsb</filename>).
80 If you build <filename>core-image-lsb-dev</filename> without that
81 configuration, the image will not be LSB-compliant.
82 </para></listitem>
83 <listitem><para><filename>core-image-lsb-sdk</filename>:
84 A <filename>core-image-lsb</filename> that includes everything in
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050085 the cross-toolchain but also includes development headers and libraries
Patrick Williamsc124f4f2015-09-15 14:41:29 -050086 to form a complete standalone SDK.
87 This image requires a distribution configuration that
88 enables LSB compliance (e.g. <filename>poky-lsb</filename>).
89 If you build <filename>core-image-lsb-sdk</filename> without that
90 configuration, the image will not be LSB-compliant.
91 This image is suitable for development using the target.</para></listitem>
92 <listitem><para><filename>core-image-minimal</filename>:
93 A small image just capable of allowing a device to boot.</para></listitem>
94 <listitem><para><filename>core-image-minimal-dev</filename>:
95 A <filename>core-image-minimal</filename> image suitable for development work
96 using the host.
97 The image includes headers and libraries you can use in a host development
98 environment.
99 </para></listitem>
100 <listitem><para id='images-core-image-minimal-initramfs'><filename>core-image-minimal-initramfs</filename>:
101 A <filename>core-image-minimal</filename> image that has the Minimal RAM-based
102 Initial Root Filesystem (initramfs) as part of the kernel,
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500103 which allows the system to find the first "init" program more efficiently.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500104 See the
105 <link linkend='var-PACKAGE_INSTALL'><filename>PACKAGE_INSTALL</filename></link>
106 variable for additional information helpful when working with
107 initramfs images.
108 </para></listitem>
109 <listitem><para><filename>core-image-minimal-mtdutils</filename>:
110 A <filename>core-image-minimal</filename> image that has support
111 for the Minimal MTD Utilities, which let the user interact with the
112 MTD subsystem in the kernel to perform operations on flash devices.
113 </para></listitem>
114 <listitem><para><filename>core-image-rt</filename>:
115 A <filename>core-image-minimal</filename> image plus a real-time test suite and
116 tools appropriate for real-time use.</para></listitem>
117 <listitem><para><filename>core-image-rt-sdk</filename>:
118 A <filename>core-image-rt</filename> image that includes everything in
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500119 the cross-toolchain.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500120 The image also includes development headers and libraries to form a complete
121 stand-alone SDK and is suitable for development using the target.
122 </para></listitem>
123 <listitem><para><filename>core-image-sato</filename>:
124 An image with Sato support, a mobile environment and visual style that works well
125 with mobile devices.
126 The image supports X11 with a Sato theme and applications such as
127 a terminal, editor, file manager, media player, and so forth.
128 </para></listitem>
129 <listitem><para><filename>core-image-sato-dev</filename>:
130 A <filename>core-image-sato</filename> image suitable for development
131 using the host.
132 The image includes libraries needed to build applications on the device itself,
133 testing and profiling tools, and debug symbols.
134 This image was formerly <filename>core-image-sdk</filename>.
135 </para></listitem>
136 <listitem><para><filename>core-image-sato-sdk</filename>:
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500137 A <filename>core-image-sato</filename> image that includes everything in
138 the cross-toolchain.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500139 The image also includes development headers and libraries to form a complete standalone SDK
140 and is suitable for development using the target.</para></listitem>
141 <listitem><para><filename>core-image-testmaster</filename>:
142 A "master" image designed to be used for automated runtime testing.
143 Provides a "known good" image that is deployed to a separate
144 partition so that you can boot into it and use it to deploy a
145 second image to be tested.
146 You can find more information about runtime testing in the
147 "<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>"
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500148 section in the Yocto Project Development Tasks Manual.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500149 </para></listitem>
150 <listitem><para><filename>core-image-testmaster-initramfs</filename>:
151 A RAM-based Initial Root Filesystem (initramfs) image tailored for
152 use with the <filename>core-image-testmaster</filename> image.
153 </para></listitem>
154 <listitem><para><filename>core-image-weston</filename>:
155 A very basic Wayland image with a terminal.
156 This image provides the Wayland protocol libraries and the
157 reference Weston compositor.
158 For more information, see the
Brad Bishop316dfdd2018-06-25 12:45:53 -0400159 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-using-wayland-and-weston'>Using Wayland and Weston</ulink>"
160 section in the Yocto Project Development Tasks Manual.
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500161 </para></listitem>
162 <listitem><para><filename>core-image-x11</filename>:
163 A very basic X11 image with a terminal.
164 </para></listitem>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500165 </itemizedlist>
166 </para>
167</chapter>
168<!--
169vim: expandtab tw=80 ts=4
170-->