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