| <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" |
| [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > |
| |
| <chapter id='toaster-manual-intro'> |
| <title>Introduction</title> |
| |
| <para> |
| Toaster is a web interface to the Yocto Project's |
| <ulink url='&YOCTO_DOCS_DEV_URL;#build-system-term'>OpenEmbedded build system</ulink>. |
| The interface enables you to configure and run your builds. |
| Information about builds is collected and stored in a database. |
| You can use Toaster to configure and start builds on multiple |
| remote build servers. |
| </para> |
| |
| <note> |
| <para> |
| This release of Toaster does allow you to configure and initiate |
| builds. |
| However, you cannot use Toaster to customize image recipes, which |
| still must either be done by hand or through |
| <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob</ulink>. |
| As Toaster matures, it eventually will equal and surpass Hob |
| functionality, at which time Hob will be deprecated. |
| </para> |
| |
| <para> |
| For more information on Hob, |
| see the |
| "<ulink url='&YOCTO_DOCS_DEV_URL;#image-development-using-hob'>Image Development Using Hob</ulink>" |
| section in the Yocto Project Development Manual. |
| </para> |
| </note> |
| |
| <section id='intro-modes'> |
| <title>Toaster Operational Modes</title> |
| |
| <para> |
| You can use Toaster in Analysis Mode or Build Mode: |
| <itemizedlist> |
| <listitem><para id='toaster-analysis-mode'><emphasis>Analysis Mode:</emphasis> |
| In Analysis Mode, you can record builds and statistics. |
| In this Mode, you directly access the |
| <filename>bitbake</filename> command, which you then use to |
| build images.</para> |
| <para>Analysis Mode requires you to have first started |
| Toaster and then to initiate your build using the |
| <filename>bitbake</filename> command from the shell. |
| Toaster must be started before the build or it will not |
| collect build data.</para> |
| <para>Toaster has the following capabilities in |
| Analysis Mode: |
| <itemizedlist> |
| <listitem><para> |
| See what was built (recipes and packages) and what |
| packages were installed into your final image. |
| </para></listitem> |
| <listitem><para> |
| Browse the directory structure of your image. |
| </para></listitem> |
| <listitem><para> |
| See the value of all variables in your build |
| configuration, and which files set each value. |
| </para></listitem> |
| <listitem><para> |
| Examine error, warning and trace messages to aid |
| in debugging. |
| </para></listitem> |
| <listitem><para> |
| See information about the BitBake tasks executed |
| and reused during your build, including those that |
| used shared state. |
| </para></listitem> |
| <listitem><para> |
| See dependency relationships between recipes, |
| packages and tasks |
| </para></listitem> |
| <listitem><para> |
| See performance information such as build time, |
| task time, CPU usage, and disk I/O. |
| </para></listitem> |
| </itemizedlist> |
| </para></listitem> |
| <listitem><para id='toaster-build-mode'><emphasis>Build Mode:</emphasis> |
| In Build Mode, Toaster handles the build configuration, |
| scheduling and execution. |
| In this mode, all your interaction with the build system |
| happens through the web interface. |
| You do not have direct access to the |
| <filename>bitbake</filename> command.</para> |
| <para>Using this mode, you configure and start your builds |
| within Toaster's GUI. |
| Each project can be configured for a specific version |
| of the build system. |
| As shipped, Toaster supports Yocto Project Releases 1.7 and |
| beyond.</para> |
| <para>Toaster has all the same capabilities in Build Mode |
| as it does in Analysis Mode plus the following: |
| <itemizedlist> |
| <listitem><para> |
| Browse layers listed in the various |
| <link linkend='layer-source'>layer sources</link> |
| that are available in your project (e.g. the |
| OpenEmbedded Metadata Index at |
| <ulink url='http://layers.openembedded.org/layerindex/'></ulink>). |
| </para></listitem> |
| <listitem><para> |
| Import your own layers for building. |
| </para></listitem> |
| <listitem><para> |
| Add and remove layers from your configuration. |
| </para></listitem> |
| <listitem><para> |
| Set configuration variables. |
| </para></listitem> |
| <listitem><para> |
| Select a target or multiple targets to build. |
| </para></listitem> |
| <listitem><para> |
| Start your builds. |
| </para></listitem> |
| </itemizedlist> |
| </para></listitem> |
| </itemizedlist> |
| </para> |
| </section> |
| |
| <section id='toaster-installation-options'> |
| <title>Installation Options</title> |
| |
| <para> |
| You can set Toaster up to run as a local instance or as a shared |
| hosted service. |
| Regardless of how you set up Toaster, both Analysis and Build |
| Modes are available. |
| </para> |
| |
| <para> |
| When Toaster is set up as a local instance, all the components |
| reside on a single build host. |
| Fundamentally, a local instance of Toaster is suited for a single |
| user developing on a single build host. |
| </para> |
| |
| <para> |
| <imagedata fileref="figures/simple-configuration.png" align="center" width="6in" depth="1.5in" /> |
| </para> |
| |
| <para> |
| Toaster as a hosted service is suited for multiple users |
| developing across several build hosts. |
| When Toaster is set up as a hosted service, its components can |
| be spread across several machines: |
| </para> |
| |
| <para> |
| <imagedata fileref="figures/hosted-service.png" align="center" width="6in" depth="3.5in" /> |
| </para> |
| </section> |
| |
| <!--THIS EXTRA INFORMATION PROBABLY WILL GO AWAY |
| For additional information on installing and running Toaster, see the |
| "<ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Installation_and_Running'>Installation and Running</ulink>" |
| section of the "Toaster" wiki page. |
| For complete information on the API and its search operation |
| URI, parameters, and responses, see the |
| <ulink url='https://wiki.yoctoproject.org/wiki/REST_API_Contracts'>REST API Contracts</ulink> |
| Wiki page. |
| </para> |
| --> |
| </chapter> |