1*4882a593Smuzhiyun.. SPDX-License-Identifier: CC-BY-SA-2.0-UK 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun****** 4*4882a593SmuzhiyunImages 5*4882a593Smuzhiyun****** 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunThe OpenEmbedded build system provides several example images to satisfy 8*4882a593Smuzhiyundifferent needs. When you issue the ``bitbake`` command you provide a 9*4882a593Smuzhiyun"top-level" recipe that essentially begins the build for the type of 10*4882a593Smuzhiyunimage you want. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun.. note:: 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun Building an image without GNU General Public License Version 3 15*4882a593Smuzhiyun (GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and 16*4882a593Smuzhiyun the GNU Affero General Public License Version 3 (AGPL-3.0) components 17*4882a593Smuzhiyun is only supported for minimal and base images. Furthermore, if you 18*4882a593Smuzhiyun are going to build an image using non-GPLv3 and similarly licensed 19*4882a593Smuzhiyun components, you must make the following changes in the ``local.conf`` 20*4882a593Smuzhiyun file before using the BitBake command to build the minimal or base 21*4882a593Smuzhiyun image:: 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun 1. Comment out the EXTRA_IMAGE_FEATURES line 24*4882a593Smuzhiyun 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0* AGPL-3.0*" 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunFrom within the ``poky`` Git repository, you can use the following 28*4882a593Smuzhiyuncommand to display the list of directories within the :term:`Source Directory` 29*4882a593Smuzhiyunthat contain image recipe files:: 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun $ ls meta*/recipes*/images/*.bb 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunFollowing is a list of supported recipes: 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun- ``build-appliance-image``: An example virtual machine that contains 36*4882a593Smuzhiyun all the pieces required to run builds using the build system as well 37*4882a593Smuzhiyun as the build system itself. You can boot and run the image using 38*4882a593Smuzhiyun either the `VMware 39*4882a593Smuzhiyun Player <https://www.vmware.com/products/player/overview.html>`__ or 40*4882a593Smuzhiyun `VMware 41*4882a593Smuzhiyun Workstation <https://www.vmware.com/products/workstation/overview.html>`__. 42*4882a593Smuzhiyun For more information on this image, see the :yocto_home:`Build 43*4882a593Smuzhiyun Appliance </software-item/build-appliance>` page 44*4882a593Smuzhiyun on the Yocto Project website. 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun- ``core-image-base``: A console-only image that fully supports the 47*4882a593Smuzhiyun target device hardware. 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun- ``core-image-full-cmdline``: A console-only image with more 50*4882a593Smuzhiyun full-featured Linux system functionality installed. 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun- ``core-image-lsb``: An image that conforms to the Linux Standard Base 53*4882a593Smuzhiyun (LSB) specification. This image requires a distribution configuration 54*4882a593Smuzhiyun that enables LSB compliance (e.g. ``poky-lsb``). If you build 55*4882a593Smuzhiyun ``core-image-lsb`` without that configuration, the image will not be 56*4882a593Smuzhiyun LSB-compliant. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun- ``core-image-lsb-dev``: A ``core-image-lsb`` image that is suitable 59*4882a593Smuzhiyun for development work using the host. The image includes headers and 60*4882a593Smuzhiyun libraries you can use in a host development environment. This image 61*4882a593Smuzhiyun requires a distribution configuration that enables LSB compliance 62*4882a593Smuzhiyun (e.g. ``poky-lsb``). If you build ``core-image-lsb-dev`` without that 63*4882a593Smuzhiyun configuration, the image will not be LSB-compliant. 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun- ``core-image-lsb-sdk``: A ``core-image-lsb`` that includes everything 66*4882a593Smuzhiyun in the cross-toolchain but also includes development headers and 67*4882a593Smuzhiyun libraries to form a complete standalone SDK. This image requires a 68*4882a593Smuzhiyun distribution configuration that enables LSB compliance (e.g. 69*4882a593Smuzhiyun ``poky-lsb``). If you build ``core-image-lsb-sdk`` without that 70*4882a593Smuzhiyun configuration, the image will not be LSB-compliant. This image is 71*4882a593Smuzhiyun suitable for development using the target. 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun- ``core-image-minimal``: A small image just capable of allowing a 74*4882a593Smuzhiyun device to boot. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun- ``core-image-minimal-dev``: A ``core-image-minimal`` image suitable 77*4882a593Smuzhiyun for development work using the host. The image includes headers and 78*4882a593Smuzhiyun libraries you can use in a host development environment. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun- ``core-image-minimal-initramfs``: A ``core-image-minimal`` image that 81*4882a593Smuzhiyun has the Minimal RAM-based Initial Root Filesystem (initramfs) as part 82*4882a593Smuzhiyun of the kernel, which allows the system to find the first "init" 83*4882a593Smuzhiyun program more efficiently. See the 84*4882a593Smuzhiyun :term:`PACKAGE_INSTALL` variable for 85*4882a593Smuzhiyun additional information helpful when working with initramfs images. 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun- ``core-image-minimal-mtdutils``: A ``core-image-minimal`` image that 88*4882a593Smuzhiyun has support for the Minimal MTD Utilities, which let the user 89*4882a593Smuzhiyun interact with the MTD subsystem in the kernel to perform operations 90*4882a593Smuzhiyun on flash devices. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun- ``core-image-rt``: A ``core-image-minimal`` image plus a real-time 93*4882a593Smuzhiyun test suite and tools appropriate for real-time use. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun- ``core-image-rt-sdk``: A ``core-image-rt`` image that includes 96*4882a593Smuzhiyun everything in the cross-toolchain. The image also includes 97*4882a593Smuzhiyun development headers and libraries to form a complete stand-alone SDK 98*4882a593Smuzhiyun and is suitable for development using the target. 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun- ``core-image-sato``: An image with Sato support, a mobile environment 101*4882a593Smuzhiyun and visual style that works well with mobile devices. The image 102*4882a593Smuzhiyun supports X11 with a Sato theme and applications such as a terminal, 103*4882a593Smuzhiyun editor, file manager, media player, and so forth. 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun- ``core-image-sato-dev``: A ``core-image-sato`` image suitable for 106*4882a593Smuzhiyun development using the host. The image includes libraries needed to 107*4882a593Smuzhiyun build applications on the device itself, testing and profiling tools, 108*4882a593Smuzhiyun and debug symbols. This image was formerly ``core-image-sdk``. 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun- ``core-image-sato-sdk``: A ``core-image-sato`` image that includes 111*4882a593Smuzhiyun everything in the cross-toolchain. The image also includes 112*4882a593Smuzhiyun development headers and libraries to form a complete standalone SDK 113*4882a593Smuzhiyun and is suitable for development using the target. 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun- ``core-image-testmaster``: A "controller" image designed to be used for 116*4882a593Smuzhiyun automated runtime testing. Provides a "known good" image that is 117*4882a593Smuzhiyun deployed to a separate partition so that you can boot into it and use 118*4882a593Smuzhiyun it to deploy a second image to be tested. You can find more 119*4882a593Smuzhiyun information about runtime testing in the 120*4882a593Smuzhiyun ":ref:`dev-manual/common-tasks:performing automated runtime testing`" 121*4882a593Smuzhiyun section in the Yocto Project Development Tasks Manual. 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun- ``core-image-testmaster-initramfs``: A RAM-based Initial Root 124*4882a593Smuzhiyun Filesystem (initramfs) image tailored for use with the 125*4882a593Smuzhiyun ``core-image-testmaster`` image. 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun- ``core-image-weston``: A very basic Wayland image with a terminal. 128*4882a593Smuzhiyun This image provides the Wayland protocol libraries and the reference 129*4882a593Smuzhiyun Weston compositor. For more information, see the 130*4882a593Smuzhiyun ":ref:`dev-manual/common-tasks:using wayland and weston`" 131*4882a593Smuzhiyun section in the Yocto Project Development Tasks Manual. 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun- ``core-image-x11``: A very basic X11 image with a terminal. 134