blob: 6ee9ec720a0241b61a521ba83754e188ec68491f [file] [log] [blame]
Andrew Geissler4873add2020-11-02 18:44:49 -06001<!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='toaster-manual-intro'>
7<title>Introduction</title>
8
9 <para>
10 Toaster is a web interface to the Yocto Project's
11 <ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>.
12 The interface enables you to configure and run your builds.
13 Information about builds is collected and stored in a database.
14 You can use Toaster to configure and start builds on multiple
15 remote build servers.
16 </para>
17
18 <section id='intro-features'>
19 <title>Toaster Features</title>
20
21 <para>
22 Toaster allows you to configure and run builds, and it
23 provides extensive information about the build process.
24 <itemizedlist>
25 <listitem><para id='toaster-build-features'>
26 <emphasis>Configure and Run Builds:</emphasis>
27 You can use the Toaster web interface to configure and
28 start your builds.
29 Builds started using the Toaster web interface are
30 organized into projects.
31 When you create a project, you are asked to select a
32 release, or version of the build system you want to
33 use for the project builds.
34 As shipped, Toaster supports Yocto Project releases 1.8
35 and beyond.
36 With the Toaster web interface, you can:
37 <itemizedlist>
38 <listitem><para>
39 Browse layers listed in the various
40 <link linkend='layer-source'>layer sources</link>
41 that are available in your project (e.g. the
42 OpenEmbedded Layer Index at
43 <ulink url='http://layers.openembedded.org/layerindex/'></ulink>).
44 </para></listitem>
45 <listitem><para>
46 Browse images, recipes, and machines provided by
47 those layers.
48 </para></listitem>
49 <listitem><para>
50 Import your own layers for building.
51 </para></listitem>
52 <listitem><para>
53 Add and remove layers from your configuration.
54 </para></listitem>
55 <listitem><para>
56 Set configuration variables.
57 </para></listitem>
58 <listitem><para>
59 Select a target or multiple targets to build.
60 </para></listitem>
61 <listitem><para>
62 Start your builds.
63 </para></listitem>
64 </itemizedlist>
65 Toaster also allows you to configure and run your builds
66 from the command line, and switch between the command line and
67 the web interface at any time.
68 Builds started from the command line appear within a special
69 Toaster project called "Command line builds".
70 </para></listitem>
71 <listitem><para id='toaster-analysis-features'>
72 <emphasis>Information About the Build Process:</emphasis>
73 Toaster also records extensive information about your builds.
74 Toaster collects data for builds you start from the web
75 interface and from the command line as long as Toaster
76 is running.
77 <note>
78 You must start Toaster before the build or it will not
79 collect build data.
80 </note></para>
81 <para>With Toaster you can:
82 <itemizedlist>
83 <listitem><para>
84 See what was built (recipes and packages) and what
85 packages were installed into your final image.
86 </para></listitem>
87 <listitem><para>
88 Browse the directory structure of your image.
89 </para></listitem>
90 <listitem><para>
91 See the value of all variables in your build
92 configuration, and which files set each value.
93 </para></listitem>
94 <listitem><para>
95 Examine error, warning, and trace messages to aid
96 in debugging.
97 </para></listitem>
98 <listitem><para>
99 See information about the BitBake tasks executed
100 and reused during your build, including those that
101 used shared state.
102 </para></listitem>
103 <listitem><para>
104 See dependency relationships between recipes,
105 packages, and tasks.
106 </para></listitem>
107 <listitem><para>
108 See performance information such as build time,
109 task time, CPU usage, and disk I/O.
110 </para></listitem>
111 </itemizedlist>
112 </para></listitem>
113 </itemizedlist>
114 </para>
115
116 <para>
117 For an overview of Toaster shipped with the Yocto Project &DISTRO;
118 Release, see the
119 "<ulink url='https://youtu.be/BlXdOYLgPxA'>Toaster - Yocto Project 2.2</ulink>"
120 video.
121 </para>
122 </section>
123
124 <section id='toaster-installation-options'>
125 <title>Installation Options</title>
126
127 <para>
128 You can set Toaster up to run as a local instance or as a shared
129 hosted service.
130 </para>
131
132 <para>
133 When Toaster is set up as a local instance, all the components
134 reside on a single build host.
135 Fundamentally, a local instance of Toaster is suited for a single
136 user developing on a single build host.
137 </para>
138
139 <para>
140 <imagedata fileref="figures/simple-configuration.png" align="center" width="6in" depth="1.5in" />
141 </para>
142
143 <para>
144 Toaster as a hosted service is suited for multiple users
145 developing across several build hosts.
146 When Toaster is set up as a hosted service, its components can
147 be spread across several machines:
148 </para>
149
150 <para>
151 <imagedata fileref="figures/hosted-service.png" align="center" width="6in" depth="3.5in" />
152 </para>
153 </section>
154
155<!--THIS EXTRA INFORMATION PROBABLY WILL GO AWAY
156 For additional information on installing and running Toaster, see the
157 "<ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Installation_and_Running'>Installation and Running</ulink>"
158 section of the "Toaster" wiki page.
159 For complete information on the API and its search operation
160 URI, parameters, and responses, see the
161 <ulink url='https://wiki.yoctoproject.org/wiki/REST_API_Contracts'>REST API Contracts</ulink>
162 Wiki page.
163 </para>
164-->
165</chapter>