blob: 4b771d0601fc7f24b2fc4e629ab3c5b41f2541f3 [file] [log] [blame]
Andrew Geisslerf0343792020-11-18 10:42:21 -06001.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Andrew Geisslerc9f78652020-09-18 14:11:35 -05002
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
Andrew Geissler4c19ea12020-10-27 13:52:24 -050019 components, you must make the following changes in the ``local.conf``
Andrew Geisslerc9f78652020-09-18 14:11:35 -050020 file before using the BitBake command to build the minimal or base
Andrew Geisslerc926e172021-05-07 16:11:35 -050021 image::
Andrew Geisslerc9f78652020-09-18 14:11:35 -050022
23 1. Comment out the EXTRA_IMAGE_FEATURES line
Andrew Geissler9aee5002022-03-30 16:27:02 +000024 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0* AGPL-3.0*"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050025
26
27From within the ``poky`` Git repository, you can use the following
28command to display the list of directories within the :term:`Source Directory`
Andrew Geisslerc926e172021-05-07 16:11:35 -050029that contain image recipe files::
Andrew Geisslerc9f78652020-09-18 14:11:35 -050030
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
Andrew Geisslerd1e89492021-02-12 15:35:20 -060039 Player <https://www.vmware.com/products/player/overview.html>`__ or
Andrew Geisslerc9f78652020-09-18 14:11:35 -050040 `VMware
Andrew Geisslerd1e89492021-02-12 15:35:20 -060041 Workstation <https://www.vmware.com/products/workstation/overview.html>`__.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050042 For more information on this image, see the :yocto_home:`Build
Andrew Geisslerc3d88e42020-10-02 09:45:00 -050043 Appliance </software-item/build-appliance>` page
Andrew Geisslerc9f78652020-09-18 14:11:35 -050044 on the Yocto Project website.
45
46- ``core-image-base``: A console-only image that fully supports the
47 target device hardware.
48
Andrew Geisslerc9f78652020-09-18 14:11:35 -050049- ``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
Patrick Williams2194f502022-10-16 14:26:09 -050081 has the Minimal RAM-based Initial Root Filesystem (:term:`Initramfs`) as part
Andrew Geisslerc9f78652020-09-18 14:11:35 -050082 of the kernel, which allows the system to find the first "init"
83 program more efficiently. See the
84 :term:`PACKAGE_INSTALL` variable for
Patrick Williams2194f502022-10-16 14:26:09 -050085 additional information helpful when working with :term:`Initramfs` images.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050086
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
Andrew Geissler595f6302022-01-24 19:11:47 +0000115- ``core-image-testmaster``: A "controller" image designed to be used for
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500116 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
Andrew Geissler09209ee2020-12-13 08:44:15 -0600120 ":ref:`dev-manual/common-tasks:performing automated runtime testing`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500121 section in the Yocto Project Development Tasks Manual.
122
123- ``core-image-testmaster-initramfs``: A RAM-based Initial Root
Patrick Williams2194f502022-10-16 14:26:09 -0500124 Filesystem (:term:`Initramfs`) image tailored for use with the
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500125 ``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
Andrew Geissler09209ee2020-12-13 08:44:15 -0600130 ":ref:`dev-manual/common-tasks:using wayland and weston`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500131 section in the Yocto Project Development Tasks Manual.
132
133- ``core-image-x11``: A very basic X11 image with a terminal.