Andrew Geissler | 4873add | 2020-11-02 18:44:49 -0600 | [diff] [blame] | 1 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| 2 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" |
| 3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > |
| 4 | <!--SPDX-License-Identifier: CC-BY-2.0-UK--> |
| 5 | |
| 6 | <chapter id='ref-images'> |
| 7 | <title>Images</title> |
| 8 | |
| 9 | <para> |
| 10 | The OpenEmbedded build system provides several example |
| 11 | images to satisfy different needs. |
| 12 | When you issue the <filename>bitbake</filename> command you provide a "top-level" recipe |
| 13 | that essentially begins the build for the type of image you want. |
| 14 | </para> |
| 15 | |
| 16 | <note> |
| 17 | Building an image without GNU General Public License Version 3 (GPLv3), |
| 18 | GNU Lesser General Public License Version 3 (LGPLv3), and the |
| 19 | GNU Affero General Public License Version 3 (AGPL-3.0) components |
| 20 | is only supported for minimal and base images. |
| 21 | Furthermore, if you are going to build an image using non-GPLv3 and |
| 22 | similarly licensed components, you must make the following changes in |
| 23 | the <filename>local.conf</filename> file before using the BitBake |
| 24 | command to build the minimal or base image: |
| 25 | <literallayout class='monospaced'> |
| 26 | 1. Comment out the EXTRA_IMAGE_FEATURES line |
| 27 | 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0" |
| 28 | </literallayout> |
| 29 | </note> |
| 30 | |
| 31 | <para> |
| 32 | From within the <filename>poky</filename> Git repository, you can use |
| 33 | the following command to display the list of directories within the |
| 34 | <link linkend='source-directory'>Source Directory</link> |
| 35 | that contain image recipe files: |
| 36 | <literallayout class='monospaced'> |
| 37 | $ ls meta*/recipes*/images/*.bb |
| 38 | </literallayout> |
| 39 | </para> |
| 40 | |
| 41 | <para> |
| 42 | Following is a list of supported recipes: |
| 43 | <itemizedlist> |
| 44 | <listitem><para> |
| 45 | <filename>build-appliance-image</filename>: |
| 46 | An example virtual machine that contains all the pieces |
| 47 | required to run builds using the build system as well as the |
| 48 | build system itself. |
| 49 | You can boot and run the image using either the |
| 50 | <ulink url='http://www.vmware.com/products/player/overview.html'>VMware Player</ulink> |
| 51 | or |
| 52 | <ulink url='http://www.vmware.com/products/workstation/overview.html'>VMware Workstation</ulink>. |
| 53 | For more information on this image, see the |
| 54 | <ulink url='&YOCTO_HOME_URL;/software-item/build-appliance/'>Build Appliance</ulink> |
| 55 | page on the Yocto Project website. |
| 56 | </para></listitem> |
| 57 | <listitem><para><filename>core-image-base</filename>: |
| 58 | A console-only image that fully supports the target device hardware.</para></listitem> |
| 59 | <listitem><para><filename>core-image-clutter</filename>: |
| 60 | An image with support for the Open GL-based toolkit Clutter, which enables development of |
| 61 | rich and animated graphical user interfaces.</para></listitem> |
| 62 | <listitem><para><filename>core-image-full-cmdline</filename>: |
| 63 | A console-only image with more full-featured Linux system |
| 64 | functionality installed.</para></listitem> |
| 65 | <listitem><para><filename>core-image-lsb</filename>: |
| 66 | An image that conforms to the Linux Standard Base (LSB) |
| 67 | specification. |
| 68 | This image requires a distribution configuration that |
| 69 | enables LSB compliance (e.g. <filename>poky-lsb</filename>). |
| 70 | If you build <filename>core-image-lsb</filename> without that |
| 71 | configuration, the image will not be LSB-compliant. |
| 72 | </para></listitem> |
| 73 | <listitem><para><filename>core-image-lsb-dev</filename>: |
| 74 | A <filename>core-image-lsb</filename> image that is suitable for development work |
| 75 | using the host. |
| 76 | The image includes headers and libraries you can use in a host development |
| 77 | environment. |
| 78 | This image requires a distribution configuration that |
| 79 | enables LSB compliance (e.g. <filename>poky-lsb</filename>). |
| 80 | If you build <filename>core-image-lsb-dev</filename> without that |
| 81 | configuration, the image will not be LSB-compliant. |
| 82 | </para></listitem> |
| 83 | <listitem><para><filename>core-image-lsb-sdk</filename>: |
| 84 | A <filename>core-image-lsb</filename> that includes everything in |
| 85 | the cross-toolchain but also includes development headers and libraries |
| 86 | to form a complete standalone SDK. |
| 87 | This image requires a distribution configuration that |
| 88 | enables LSB compliance (e.g. <filename>poky-lsb</filename>). |
| 89 | If you build <filename>core-image-lsb-sdk</filename> without that |
| 90 | configuration, the image will not be LSB-compliant. |
| 91 | This image is suitable for development using the target.</para></listitem> |
| 92 | <listitem><para><filename>core-image-minimal</filename>: |
| 93 | A small image just capable of allowing a device to boot.</para></listitem> |
| 94 | <listitem><para><filename>core-image-minimal-dev</filename>: |
| 95 | A <filename>core-image-minimal</filename> image suitable for development work |
| 96 | using the host. |
| 97 | The image includes headers and libraries you can use in a host development |
| 98 | environment. |
| 99 | </para></listitem> |
| 100 | <listitem><para id='images-core-image-minimal-initramfs'><filename>core-image-minimal-initramfs</filename>: |
| 101 | A <filename>core-image-minimal</filename> image that has the Minimal RAM-based |
| 102 | Initial Root Filesystem (initramfs) as part of the kernel, |
| 103 | which allows the system to find the first "init" program more efficiently. |
| 104 | See the |
| 105 | <link linkend='var-PACKAGE_INSTALL'><filename>PACKAGE_INSTALL</filename></link> |
| 106 | variable for additional information helpful when working with |
| 107 | initramfs images. |
| 108 | </para></listitem> |
| 109 | <listitem><para><filename>core-image-minimal-mtdutils</filename>: |
| 110 | A <filename>core-image-minimal</filename> image that has support |
| 111 | for the Minimal MTD Utilities, which let the user interact with the |
| 112 | MTD subsystem in the kernel to perform operations on flash devices. |
| 113 | </para></listitem> |
| 114 | <listitem><para><filename>core-image-rt</filename>: |
| 115 | A <filename>core-image-minimal</filename> image plus a real-time test suite and |
| 116 | tools appropriate for real-time use.</para></listitem> |
| 117 | <listitem><para><filename>core-image-rt-sdk</filename>: |
| 118 | A <filename>core-image-rt</filename> image that includes everything in |
| 119 | the cross-toolchain. |
| 120 | The image also includes development headers and libraries to form a complete |
| 121 | stand-alone SDK and is suitable for development using the target. |
| 122 | </para></listitem> |
| 123 | <listitem><para><filename>core-image-sato</filename>: |
| 124 | An image with Sato support, a mobile environment and visual style that works well |
| 125 | with mobile devices. |
| 126 | The image supports X11 with a Sato theme and applications such as |
| 127 | a terminal, editor, file manager, media player, and so forth. |
| 128 | </para></listitem> |
| 129 | <listitem><para><filename>core-image-sato-dev</filename>: |
| 130 | A <filename>core-image-sato</filename> image suitable for development |
| 131 | using the host. |
| 132 | The image includes libraries needed to build applications on the device itself, |
| 133 | testing and profiling tools, and debug symbols. |
| 134 | This image was formerly <filename>core-image-sdk</filename>. |
| 135 | </para></listitem> |
| 136 | <listitem><para><filename>core-image-sato-sdk</filename>: |
| 137 | A <filename>core-image-sato</filename> image that includes everything in |
| 138 | the cross-toolchain. |
| 139 | The image also includes development headers and libraries to form a complete standalone SDK |
| 140 | and is suitable for development using the target.</para></listitem> |
| 141 | <listitem><para><filename>core-image-testmaster</filename>: |
| 142 | A "master" image designed to be used for automated runtime testing. |
| 143 | Provides a "known good" image that is deployed to a separate |
| 144 | partition so that you can boot into it and use it to deploy a |
| 145 | second image to be tested. |
| 146 | You can find more information about runtime testing in the |
| 147 | "<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>" |
| 148 | section in the Yocto Project Development Tasks Manual. |
| 149 | </para></listitem> |
| 150 | <listitem><para><filename>core-image-testmaster-initramfs</filename>: |
| 151 | A RAM-based Initial Root Filesystem (initramfs) image tailored for |
| 152 | use with the <filename>core-image-testmaster</filename> image. |
| 153 | </para></listitem> |
| 154 | <listitem><para><filename>core-image-weston</filename>: |
| 155 | A very basic Wayland image with a terminal. |
| 156 | This image provides the Wayland protocol libraries and the |
| 157 | reference Weston compositor. |
| 158 | For more information, see the |
| 159 | "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-using-wayland-and-weston'>Using Wayland and Weston</ulink>" |
| 160 | section in the Yocto Project Development Tasks Manual. |
| 161 | </para></listitem> |
| 162 | <listitem><para><filename>core-image-x11</filename>: |
| 163 | A very basic X11 image with a terminal. |
| 164 | </para></listitem> |
| 165 | </itemizedlist> |
| 166 | </para> |
| 167 | </chapter> |
| 168 | <!-- |
| 169 | vim: expandtab tw=80 ts=4 |
| 170 | --> |