Toaster: Difference between revisions

From Yocto Project
Jump to navigationJump to search
(Updated dead link to old Yocto Project 1.0 docs)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Toaster]]
[[Category:Toaster]]
[[Toaster]] is a web-based interface to OpenEmbedded and BitBake. You might have heard it is a replacement for [https://www.yoctoproject.org/documentation/hob-manual Hob]. The answer is "it will be at some point, but not yet".
[[Toaster]] is a web-based interface to OpenEmbedded and BitBake.
 
[[File:Screenshot toaster.png|thumb|Screenshot of Toaster 2.1]]
General discussion about '''Toaster''' happens on a dedicated mailing list: [https://lists.yoctoproject.org/listinfo/toaster https://lists.yoctoproject.org/listinfo/toaster]
General discussion about '''Toaster''' happens on a dedicated mailing list: [https://lists.yoctoproject.org/listinfo/toaster https://lists.yoctoproject.org/listinfo/toaster]


=== Using Toaster ===
=== Using Toaster ===


Toaster can run in various modes and setups. To ease out the understanding of documentation, we review here the terminology used throughout the documentation.
Toaster can run in various modes and setups.


* Interactive mode - this is the mode released with Yocto Project Release 1.6. Functional components consist of a build recording component, 'toasterui', and a build stats and inspection user interface, the 'toastergui'. It is started with the command sequence listed below, and the builds are started using normal bitbake command line
* '''Local mode''' - in this mode Toaster is setup for use as a local development tool. It can be used to configure builds or just as a receiver for builds done on the command line with bitbake. You can launch it like this:


  $ source oe-init-build-env
  $ source oe-init-build-env
  $ source toaster start
  $ source toaster start


* Managed  mode - in this mode Toaster handles the build configuration GUI (through Project pages), and build scheduling and execution, in addition to the features launched with Yocto Project Release 1.6. The builds are triggered through the web interface,
You then navigate to the link in your browser (e.g. http://localhost:8000) and configure a project. Or start building in the normal way with bitbake via the command line. Toaster will automatically pick up the builds and you will be able to see them on the build dashboard in your browser.
the user as no direct access to the bitbake command line.
 
** Local managed mode, in short _local_, is the out-of-box mode available after a poky/ checkout. It allows the user to perform build on his local machine source code, with a local build directory, and is intended to help the user discover the interface, and configure and run local builds. You can launch it with
 
$ ./bitbake/bin/toaster


** Remote managed mode, or [[hosted Toaster]], is intended to be the production setup for running Toaster in organizations supporting multiple users and using customized Toaster installations.
* '''Production mode''' - All the same functionality as the local mode but with the web server setup as a shared service for multiple developers to use, this sets up Toaster as a wsgi application and [[Setting up a production instance of Toaster|requires additional configuration]].


=== Toaster How-to's ===
=== Toaster How-to's ===
Line 30: Line 25:
* [[Setting up a local instance of Toaster]]
* [[Setting up a local instance of Toaster]]
* [[Setting up a production instance of Toaster]] - documentation for Interactive mode
* [[Setting up a production instance of Toaster]] - documentation for Interactive mode
* [[Setting up a hosted managed mode for Toaster]] - configure and run build through Toaster itself, providing a service for your users
* [https://docs.yoctoproject.org/dunfell/toaster-manual/toaster-manual-setup-and-use.html#using-the-toaster-web-interface How to use the Toaster web interface]
* [https://www.yoctoproject.org/documentation/toaster-manual-17 How to use the Toaster web interface]
* [[How to delete information from the Toaster database]]
* [[How to delete information from the Toaster database]]
* [[How to  support permission management in Build Mode for Toaster]]
* [[ToasterTable]]: Toaster's internal API for adding sortable, filterable, paged tables


=== About Toaster ===
=== About Toaster ===
[[File:Screenshot toaster analyis.png|thumb|Analysis of builds using Toaster]]


* [[File:Working_with_design.pdf]]
* [[File:Working_with_design.pdf]]
* [https://bugzilla.yoctoproject.org/buglist.cgi?list_id=213820&columnlist=status_whiteboard%2Cassigned_to%2Ctarget_milestone%2Cbug_status%2Cshort_desc%2Cbug_severity%2Cpriority&classification=Build%20System%20%26%20Metadata&query_based_on=Toaster-Opens&query_format=advanced&bug_status=NEW&bug_status=ACCEPTED&bug_status=IN%20PROGRESS%20DESIGN&bug_status=IN%20PROGRESS%20DESIGN%20COMPLETE&bug_status=IN%20PROGRESS%20IMPLEMENTATION&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=WaitForUpstream&component=toaster&product=Toaster&known_name=Toaster-Opens Bug list]
* [https://bugzilla.yoctoproject.org/buglist.cgi?list_id=213820&columnlist=status_whiteboard%2Cassigned_to%2Ctarget_milestone%2Cbug_status%2Cshort_desc%2Cbug_severity%2Cpriority&classification=Build%20System%20%26%20Metadata&query_based_on=Toaster-Opens&query_format=advanced&bug_status=NEW&bug_status=ACCEPTED&bug_status=IN%20PROGRESS%20DESIGN&bug_status=IN%20PROGRESS%20DESIGN%20COMPLETE&bug_status=IN%20PROGRESS%20IMPLEMENTATION&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=WaitForUpstream&component=toaster&product=Toaster&known_name=Toaster-Opens Bug list]
* [[Toaster architecture design]]
* [[Toaster architecture design]]
* [[Toaster and bitbake communications]]
* [[Toaster database]]
* [[Toaster testing plan]]
* [[Toaster testing plan]]
* [[Toaster 1.9 design | Scope and design (1.9)]]
* [[Toaster 1.7 design | Scope and design (1.7 - 1.8)]]
* [[Toaster archive | Archive]]


=== In progress documentation ===
=== In progress documentation ===
Line 49: Line 45:


*[[Using virtualenv]]
*[[Using virtualenv]]
*[[Toaster configuration]] - explain releases, layer sources, BitBake versions and default project configurations
*[[Setting up a production instance of Toaster]]
*[[Set up Toaster locally]] - explain the set up process and the local version of the localconf.json file
*[[Set up production instance]] - explain the Django admin interface and the remove version of the localconf.json file
*[[manage.py commands]] - this should include an explanation of lsupdates
*[[manage.py commands]] - this should include an explanation of lsupdates
*[[Custom layer index]] - explain how to create your own layer index
*[[Start Toaster in managed mode]]
*[[Start Toaster in managed mode]]

Latest revision as of 21:51, 30 November 2023

Toaster is a web-based interface to OpenEmbedded and BitBake.

Screenshot of Toaster 2.1

General discussion about Toaster happens on a dedicated mailing list: https://lists.yoctoproject.org/listinfo/toaster

Using Toaster

Toaster can run in various modes and setups.

  • Local mode - in this mode Toaster is setup for use as a local development tool. It can be used to configure builds or just as a receiver for builds done on the command line with bitbake. You can launch it like this:
$ source oe-init-build-env
$ source toaster start

You then navigate to the link in your browser (e.g. http://localhost:8000) and configure a project. Or start building in the normal way with bitbake via the command line. Toaster will automatically pick up the builds and you will be able to see them on the build dashboard in your browser.

  • Production mode - All the same functionality as the local mode but with the web server setup as a shared service for multiple developers to use, this sets up Toaster as a wsgi application and requires additional configuration.

Toaster How-to's

Specific pages with Toaster how-tos are available below.

About Toaster

Analysis of builds using Toaster

In progress documentation

We are currently preparing the documentation for the Toaster build functionality. The content here is just a brain dump of what we need to cover (in no particular order). Feel free to add and create content as you see fit: