blob: b2db1a77346ec5ce2843f6ef8fe0228168497e77 [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
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`
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
49- ``core-image-clutter``: An image with support for the Open GL-based
50 toolkit Clutter, which enables development of rich and animated
51 graphical user interfaces.
52
53- ``core-image-full-cmdline``: A console-only image with more
54 full-featured Linux system functionality installed.
55
56- ``core-image-lsb``: An image that conforms to the Linux Standard Base
57 (LSB) specification. This image requires a distribution configuration
58 that enables LSB compliance (e.g. ``poky-lsb``). If you build
59 ``core-image-lsb`` without that configuration, the image will not be
60 LSB-compliant.
61
62- ``core-image-lsb-dev``: A ``core-image-lsb`` image that is suitable
63 for development work using the host. The image includes headers and
64 libraries you can use in a host development environment. This image
65 requires a distribution configuration that enables LSB compliance
66 (e.g. ``poky-lsb``). If you build ``core-image-lsb-dev`` without that
67 configuration, the image will not be LSB-compliant.
68
69- ``core-image-lsb-sdk``: A ``core-image-lsb`` that includes everything
70 in the cross-toolchain but also includes development headers and
71 libraries to form a complete standalone SDK. This image requires a
72 distribution configuration that enables LSB compliance (e.g.
73 ``poky-lsb``). If you build ``core-image-lsb-sdk`` without that
74 configuration, the image will not be LSB-compliant. This image is
75 suitable for development using the target.
76
77- ``core-image-minimal``: A small image just capable of allowing a
78 device to boot.
79
80- ``core-image-minimal-dev``: A ``core-image-minimal`` image suitable
81 for development work using the host. The image includes headers and
82 libraries you can use in a host development environment.
83
84- ``core-image-minimal-initramfs``: A ``core-image-minimal`` image that
85 has the Minimal RAM-based Initial Root Filesystem (initramfs) as part
86 of the kernel, which allows the system to find the first "init"
87 program more efficiently. See the
88 :term:`PACKAGE_INSTALL` variable for
89 additional information helpful when working with initramfs images.
90
91- ``core-image-minimal-mtdutils``: A ``core-image-minimal`` image that
92 has support for the Minimal MTD Utilities, which let the user
93 interact with the MTD subsystem in the kernel to perform operations
94 on flash devices.
95
96- ``core-image-rt``: A ``core-image-minimal`` image plus a real-time
97 test suite and tools appropriate for real-time use.
98
99- ``core-image-rt-sdk``: A ``core-image-rt`` image that includes
100 everything in the cross-toolchain. The image also includes
101 development headers and libraries to form a complete stand-alone SDK
102 and is suitable for development using the target.
103
104- ``core-image-sato``: An image with Sato support, a mobile environment
105 and visual style that works well with mobile devices. The image
106 supports X11 with a Sato theme and applications such as a terminal,
107 editor, file manager, media player, and so forth.
108
109- ``core-image-sato-dev``: A ``core-image-sato`` image suitable for
110 development using the host. The image includes libraries needed to
111 build applications on the device itself, testing and profiling tools,
112 and debug symbols. This image was formerly ``core-image-sdk``.
113
114- ``core-image-sato-sdk``: A ``core-image-sato`` image that includes
115 everything in the cross-toolchain. The image also includes
116 development headers and libraries to form a complete standalone SDK
117 and is suitable for development using the target.
118
119- ``core-image-testmaster``: A "master" image designed to be used for
120 automated runtime testing. Provides a "known good" image that is
121 deployed to a separate partition so that you can boot into it and use
122 it to deploy a second image to be tested. You can find more
123 information about runtime testing in the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600124 ":ref:`dev-manual/common-tasks:performing automated runtime testing`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500125 section in the Yocto Project Development Tasks Manual.
126
127- ``core-image-testmaster-initramfs``: A RAM-based Initial Root
128 Filesystem (initramfs) image tailored for use with the
129 ``core-image-testmaster`` image.
130
131- ``core-image-weston``: A very basic Wayland image with a terminal.
132 This image provides the Wayland protocol libraries and the reference
133 Weston compositor. For more information, see the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600134 ":ref:`dev-manual/common-tasks:using wayland and weston`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500135 section in the Yocto Project Development Tasks Manual.
136
137- ``core-image-x11``: A very basic X11 image with a terminal.