Andrew Geissler | f034379 | 2020-11-18 10:42:21 -0600 | [diff] [blame] | 1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 2 | |
| 3 | ****** |
| 4 | Images |
| 5 | ****** |
| 6 | |
| 7 | The OpenEmbedded build system provides several example images to satisfy |
| 8 | different needs. When you issue the ``bitbake`` command you provide a |
| 9 | "top-level" recipe that essentially begins the build for the type of |
| 10 | image 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 Geissler | 4c19ea1 | 2020-10-27 13:52:24 -0500 | [diff] [blame] | 19 | components, you must make the following changes in the ``local.conf`` |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 20 | 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 | |
| 28 | From within the ``poky`` Git repository, you can use the following |
| 29 | command to display the list of directories within the :term:`Source Directory` |
| 30 | that contain image recipe files: :: |
| 31 | |
| 32 | $ ls meta*/recipes*/images/*.bb |
| 33 | |
| 34 | Following 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 |
| 40 | Player <http://www.vmware.com/products/player/overview.html>`__ or |
| 41 | `VMware |
| 42 | Workstation <http://www.vmware.com/products/workstation/overview.html>`__. |
| 43 | For more information on this image, see the :yocto_home:`Build |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 44 | Appliance </software-item/build-appliance>` page |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 45 | 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 Geissler | 09209ee | 2020-12-13 08:44:15 -0600 | [diff] [blame] | 125 | ":ref:`dev-manual/common-tasks:performing automated runtime testing`" |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 126 | 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 Geissler | 09209ee | 2020-12-13 08:44:15 -0600 | [diff] [blame] | 135 | ":ref:`dev-manual/common-tasks:using wayland and weston`" |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 136 | section in the Yocto Project Development Tasks Manual. |
| 137 | |
| 138 | - ``core-image-x11``: A very basic X11 image with a terminal. |