| .. SPDX-License-Identifier: CC-BY-SA-2.0-UK |
| |
| ****** |
| Images |
| ****** |
| |
| The OpenEmbedded build system provides several example images to satisfy |
| different needs. When you issue the ``bitbake`` command you provide a |
| "top-level" recipe that essentially begins the build for the type of |
| image you want. |
| |
| .. note:: |
| |
| Building an image without GNU General Public License Version 3 |
| (GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and |
| the GNU Affero General Public License Version 3 (AGPL-3.0) components |
| is only tested for core-image-minimal image. Furthermore, if you would like to |
| build an image and verify that it does not include GPLv3 and similarly licensed |
| components, you must make the following changes in the image recipe |
| file before using the BitBake command to build the image: |
| |
| INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0*" |
| |
| Alternatively, you can adjust ``local.conf`` file, repeating and adjusting the line |
| for all images where the license restriction must apply: |
| |
| INCOMPATIBLE_LICENSE:pn-your-image-name = "GPL-3.0* LGPL-3.0*" |
| |
| From within the ``poky`` Git repository, you can use the following |
| command to display the list of directories within the :term:`Source Directory` |
| that contain image recipe files:: |
| |
| $ ls meta*/recipes*/images/*.bb |
| |
| Here is a list of supported recipes: |
| |
| - ``build-appliance-image``: An example virtual machine that contains |
| all the pieces required to run builds using the build system as well |
| as the build system itself. You can boot and run the image using |
| either the `VMware |
| Player <https://www.vmware.com/products/player/overview.html>`__ or |
| `VMware |
| Workstation <https://www.vmware.com/products/workstation/overview.html>`__. |
| For more information on this image, see the :yocto_home:`Build |
| Appliance </software-item/build-appliance>` page |
| on the Yocto Project website. |
| |
| - ``core-image-base``: A console-only image that fully supports the |
| target device hardware. |
| |
| - ``core-image-full-cmdline``: A console-only image with more |
| full-featured Linux system functionality installed. |
| |
| - ``core-image-lsb``: An image that conforms to the Linux Standard Base |
| (LSB) specification. This image requires a distribution configuration |
| that enables LSB compliance (e.g. ``poky-lsb``). If you build |
| ``core-image-lsb`` without that configuration, the image will not be |
| LSB-compliant. |
| |
| - ``core-image-lsb-dev``: A ``core-image-lsb`` image that is suitable |
| for development work using the host. The image includes headers and |
| libraries you can use in a host development environment. This image |
| requires a distribution configuration that enables LSB compliance |
| (e.g. ``poky-lsb``). If you build ``core-image-lsb-dev`` without that |
| configuration, the image will not be LSB-compliant. |
| |
| - ``core-image-lsb-sdk``: A ``core-image-lsb`` that includes everything |
| in the cross-toolchain but also includes development headers and |
| libraries to form a complete standalone SDK. This image requires a |
| distribution configuration that enables LSB compliance (e.g. |
| ``poky-lsb``). If you build ``core-image-lsb-sdk`` without that |
| configuration, the image will not be LSB-compliant. This image is |
| suitable for development using the target. |
| |
| - ``core-image-minimal``: A small image just capable of allowing a |
| device to boot. |
| |
| - ``core-image-minimal-dev``: A ``core-image-minimal`` image suitable |
| for development work using the host. The image includes headers and |
| libraries you can use in a host development environment. |
| |
| - ``core-image-minimal-initramfs``: A ``core-image-minimal`` image that |
| has the Minimal RAM-based Initial Root Filesystem (:term:`Initramfs`) as part |
| of the kernel, which allows the system to find the first "init" |
| program more efficiently. See the |
| :term:`PACKAGE_INSTALL` variable for |
| additional information helpful when working with :term:`Initramfs` images. |
| |
| - ``core-image-minimal-mtdutils``: A ``core-image-minimal`` image that |
| has support for the Minimal MTD Utilities, which let the user |
| interact with the MTD subsystem in the kernel to perform operations |
| on flash devices. |
| |
| - ``core-image-rt``: A ``core-image-minimal`` image plus a real-time |
| test suite and tools appropriate for real-time use. |
| |
| - ``core-image-rt-sdk``: A ``core-image-rt`` image that includes |
| everything in the cross-toolchain. The image also includes |
| development headers and libraries to form a complete stand-alone SDK |
| and is suitable for development using the target. |
| |
| - ``core-image-sato``: An image with Sato support, a mobile environment |
| and visual style that works well with mobile devices. The image |
| supports X11 with a Sato theme and applications such as a terminal, |
| editor, file manager, media player, and so forth. |
| |
| - ``core-image-sato-dev``: A ``core-image-sato`` image suitable for |
| development using the host. The image includes libraries needed to |
| build applications on the device itself, testing and profiling tools, |
| and debug symbols. This image was formerly ``core-image-sdk``. |
| |
| - ``core-image-sato-sdk``: A ``core-image-sato`` image that includes |
| everything in the cross-toolchain. The image also includes |
| development headers and libraries to form a complete standalone SDK |
| and is suitable for development using the target. |
| |
| - ``core-image-testmaster``: A "controller" image designed to be used for |
| automated runtime testing. Provides a "known good" image that is |
| deployed to a separate partition so that you can boot into it and use |
| it to deploy a second image to be tested. You can find more |
| information about runtime testing in the |
| ":ref:`dev-manual/runtime-testing:performing automated runtime testing`" |
| section in the Yocto Project Development Tasks Manual. |
| |
| - ``core-image-testmaster-initramfs``: A RAM-based Initial Root |
| Filesystem (:term:`Initramfs`) image tailored for use with the |
| ``core-image-testmaster`` image. |
| |
| - ``core-image-weston``: A very basic Wayland image with a terminal. |
| This image provides the Wayland protocol libraries and the reference |
| Weston compositor. For more information, see the |
| ":ref:`dev-manual/wayland:using wayland and weston`" |
| section in the Yocto Project Development Tasks Manual. |
| |
| - ``core-image-x11``: A very basic X11 image with a terminal. |