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