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