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