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