| 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 | --> |