xref: /OK3568_Linux_fs/yocto/poky/documentation/toaster-manual/intro.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun************
4*4882a593SmuzhiyunIntroduction
5*4882a593Smuzhiyun************
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunToaster is a web interface to the Yocto Project's
8*4882a593Smuzhiyun:term:`OpenEmbedded Build System`. The interface
9*4882a593Smuzhiyunenables you to configure and run your builds. Information about builds
10*4882a593Smuzhiyunis collected and stored in a database. You can use Toaster to configure
11*4882a593Smuzhiyunand start builds on multiple remote build servers.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunToaster Features
14*4882a593Smuzhiyun================
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunToaster allows you to configure and run builds, and it provides
17*4882a593Smuzhiyunextensive information about the build process.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun-  *Configure and Run Builds:* You can use the Toaster web interface to
20*4882a593Smuzhiyun   configure and start your builds. Builds started using the Toaster web
21*4882a593Smuzhiyun   interface are organized into projects. When you create a project, you
22*4882a593Smuzhiyun   are asked to select a release, or version of the build system you
23*4882a593Smuzhiyun   want to use for the project builds. As shipped, Toaster supports
24*4882a593Smuzhiyun   Yocto Project releases 1.8 and beyond. With the Toaster web
25*4882a593Smuzhiyun   interface, you can:
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun   -  Browse layers listed in the various
28*4882a593Smuzhiyun      :ref:`layer sources <toaster-manual/reference:layer source>`
29*4882a593Smuzhiyun      that are available in your project (e.g. the OpenEmbedded Layer Index at
30*4882a593Smuzhiyun      :oe_layerindex:`/`).
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun   -  Browse images, recipes, and machines provided by those layers.
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun   -  Import your own layers for building.
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun   -  Add and remove layers from your configuration.
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun   -  Set configuration variables.
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun   -  Select a target or multiple targets to build.
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun   -  Start your builds.
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun   Toaster also allows you to configure and run your builds from the
45*4882a593Smuzhiyun   command line, and switch between the command line and the web
46*4882a593Smuzhiyun   interface at any time. Builds started from the command line appear
47*4882a593Smuzhiyun   within a special Toaster project called "Command line builds".
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun-  *Information About the Build Process:* Toaster also records extensive
50*4882a593Smuzhiyun   information about your builds. Toaster collects data for builds you
51*4882a593Smuzhiyun   start from the web interface and from the command line as long as
52*4882a593Smuzhiyun   Toaster is running.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun   .. note::
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun      You must start Toaster before the build or it will not collect
57*4882a593Smuzhiyun      build data.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun   With Toaster you can:
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun   -  See what was built (recipes and packages) and what packages were
62*4882a593Smuzhiyun      installed into your final image.
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun   -  Browse the directory structure of your image.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun   -  See the value of all variables in your build configuration, and
67*4882a593Smuzhiyun      which files set each value.
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun   -  Examine error, warning, and trace messages to aid in debugging.
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun   -  See information about the BitBake tasks executed and reused during
72*4882a593Smuzhiyun      your build, including those that used shared state.
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun   -  See dependency relationships between recipes, packages, and tasks.
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun   -  See performance information such as build time, task time, CPU
77*4882a593Smuzhiyun      usage, and disk I/O.
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunFor an overview of Toaster shipped with the Yocto Project &DISTRO;
80*4882a593SmuzhiyunRelease, see the "`Toaster - Yocto Project
81*4882a593Smuzhiyun2.2 <https://youtu.be/BlXdOYLgPxA>`__" video.
82*4882a593Smuzhiyun
83*4882a593SmuzhiyunInstallation Options
84*4882a593Smuzhiyun====================
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunYou can set Toaster up to run as a local instance or as a shared hosted
87*4882a593Smuzhiyunservice.
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunWhen Toaster is set up as a local instance, all the components reside on
90*4882a593Smuzhiyuna single build host. Fundamentally, a local instance of Toaster is
91*4882a593Smuzhiyunsuited for a single user developing on a single build host.
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun.. image:: figures/simple-configuration.png
94*4882a593Smuzhiyun   :align: center
95*4882a593Smuzhiyun
96*4882a593SmuzhiyunToaster as a hosted service is suited for multiple users developing
97*4882a593Smuzhiyunacross several build hosts. When Toaster is set up as a hosted service,
98*4882a593Smuzhiyunits components can be spread across several machines:
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun.. image:: figures/hosted-service.png
101*4882a593Smuzhiyun   :align: center
102