1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3******
4Images
5******
6
7The OpenEmbedded build system provides several example images to satisfy
8different needs. When you issue the ``bitbake`` command you provide a
9"top-level" recipe that essentially begins the build for the type of
10image you want.
11
12.. note::
13
14   Building an image without GNU General Public License Version 3
15   (GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and
16   the GNU Affero General Public License Version 3 (AGPL-3.0) components
17   is only supported for minimal and base images. Furthermore, if you
18   are going to build an image using non-GPLv3 and similarly licensed
19   components, you must make the following changes in the ``local.conf``
20   file before using the BitBake command to build the minimal or base
21   image::
22
23           1. Comment out the EXTRA_IMAGE_FEATURES line
24           2. Set INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0* AGPL-3.0*"
25
26
27From within the ``poky`` Git repository, you can use the following
28command to display the list of directories within the :term:`Source Directory`
29that contain image recipe files::
30
31   $ ls meta*/recipes*/images/*.bb
32
33Following is a list of supported recipes:
34
35-  ``build-appliance-image``: An example virtual machine that contains
36   all the pieces required to run builds using the build system as well
37   as the build system itself. You can boot and run the image using
38   either the `VMware
39   Player <https://www.vmware.com/products/player/overview.html>`__ or
40   `VMware
41   Workstation <https://www.vmware.com/products/workstation/overview.html>`__.
42   For more information on this image, see the :yocto_home:`Build
43   Appliance </software-item/build-appliance>` page
44   on the Yocto Project website.
45
46-  ``core-image-base``: A console-only image that fully supports the
47   target device hardware.
48
49-  ``core-image-full-cmdline``: A console-only image with more
50   full-featured Linux system functionality installed.
51
52-  ``core-image-lsb``: An image that conforms to the Linux Standard Base
53   (LSB) specification. This image requires a distribution configuration
54   that enables LSB compliance (e.g. ``poky-lsb``). If you build
55   ``core-image-lsb`` without that configuration, the image will not be
56   LSB-compliant.
57
58-  ``core-image-lsb-dev``: A ``core-image-lsb`` image that is suitable
59   for development work using the host. The image includes headers and
60   libraries you can use in a host development environment. This image
61   requires a distribution configuration that enables LSB compliance
62   (e.g. ``poky-lsb``). If you build ``core-image-lsb-dev`` without that
63   configuration, the image will not be LSB-compliant.
64
65-  ``core-image-lsb-sdk``: A ``core-image-lsb`` that includes everything
66   in the cross-toolchain but also includes development headers and
67   libraries to form a complete standalone SDK. This image requires a
68   distribution configuration that enables LSB compliance (e.g.
69   ``poky-lsb``). If you build ``core-image-lsb-sdk`` without that
70   configuration, the image will not be LSB-compliant. This image is
71   suitable for development using the target.
72
73-  ``core-image-minimal``: A small image just capable of allowing a
74   device to boot.
75
76-  ``core-image-minimal-dev``: A ``core-image-minimal`` image suitable
77   for development work using the host. The image includes headers and
78   libraries you can use in a host development environment.
79
80-  ``core-image-minimal-initramfs``: A ``core-image-minimal`` image that
81   has the Minimal RAM-based Initial Root Filesystem (initramfs) as part
82   of the kernel, which allows the system to find the first "init"
83   program more efficiently. See the
84   :term:`PACKAGE_INSTALL` variable for
85   additional information helpful when working with initramfs images.
86
87-  ``core-image-minimal-mtdutils``: A ``core-image-minimal`` image that
88   has support for the Minimal MTD Utilities, which let the user
89   interact with the MTD subsystem in the kernel to perform operations
90   on flash devices.
91
92-  ``core-image-rt``: A ``core-image-minimal`` image plus a real-time
93   test suite and tools appropriate for real-time use.
94
95-  ``core-image-rt-sdk``: A ``core-image-rt`` image that includes
96   everything in the cross-toolchain. The image also includes
97   development headers and libraries to form a complete stand-alone SDK
98   and is suitable for development using the target.
99
100-  ``core-image-sato``: An image with Sato support, a mobile environment
101   and visual style that works well with mobile devices. The image
102   supports X11 with a Sato theme and applications such as a terminal,
103   editor, file manager, media player, and so forth.
104
105-  ``core-image-sato-dev``: A ``core-image-sato`` image suitable for
106   development using the host. The image includes libraries needed to
107   build applications on the device itself, testing and profiling tools,
108   and debug symbols. This image was formerly ``core-image-sdk``.
109
110-  ``core-image-sato-sdk``: A ``core-image-sato`` image that includes
111   everything in the cross-toolchain. The image also includes
112   development headers and libraries to form a complete standalone SDK
113   and is suitable for development using the target.
114
115-  ``core-image-testmaster``: A "controller" image designed to be used for
116   automated runtime testing. Provides a "known good" image that is
117   deployed to a separate partition so that you can boot into it and use
118   it to deploy a second image to be tested. You can find more
119   information about runtime testing in the
120   ":ref:`dev-manual/common-tasks:performing automated runtime testing`"
121   section in the Yocto Project Development Tasks Manual.
122
123-  ``core-image-testmaster-initramfs``: A RAM-based Initial Root
124   Filesystem (initramfs) image tailored for use with the
125   ``core-image-testmaster`` image.
126
127-  ``core-image-weston``: A very basic Wayland image with a terminal.
128   This image provides the Wayland protocol libraries and the reference
129   Weston compositor. For more information, see the
130   ":ref:`dev-manual/common-tasks:using wayland and weston`"
131   section in the Yocto Project Development Tasks Manual.
132
133-  ``core-image-x11``: A very basic X11 image with a terminal.
134