Setting up a local instance of Toaster

From Yocto Project
Jump to navigationJump to search

This page explains how to set up Toaster in the same host where you are running your Yocto Project builds. Do it this way if you want to try Toaster or use it for individual purposes.

Using the Yocto Project 1.6 "Daisy" release or the master branch

You need this stuff ready

1. Django 1.5

The easiest way is to install it system wide with pip

   $ sudo pip install django==1.5

Alternatively, you can use

   $ pip install --user django==1.5

rather than sudo pip, to install it to your user site-packages directory under ~/.local, which won't impact the rest of the system.

2. South 0.8.4

  $ sudo pip install South==0.8.4

3. Make sure that port 8000 and 8200 are free, i.e. no servers on them]

To get Toaster up and running

  • Clone the Yocto Project 1.6 (Daisy) branch
   $ git clone -b daisy git://git.yoctoproject.org/poky.git

or the Yocto Project master branch

  $ git clone http://git.yoctoproject.org/git/poky
  • Source your build environment (as you usually do)
   $ source poky/oe-init-build-env 
  • Edit your local.conf, layers, etc as required for your build
  • Before you start the build, start Toaster
   $ source toaster start 
  • Once Toaster is running, start a build. For example
   $ bitbake core-image-minimal
  • To see the Toaster web interface, open a browser and type of following in the navigation bar
   $ http://localhost:8000

or type the following command on your terminal

   $ xdg-open http://localhost:8000/ 
  • To stop Toaster do
   $ source toaster stop

Using the Dora + Toaster release (part of Yocto Project 1.5)

You need this stuff ready

  • Django 1.4.5. The easiest way is to install it system wide with pip
   $ sudo pip install django==1.4.5
  • Make sure that port 8000 and 8200 are free, i.e. no servers on them

To get it up and running

Bitbake extra options

This is an overview of extra options needed for Bitbake. These should be automatically added by Toaster in a conf/toaster.conf file that is enabled when the system starts through the toaster command.

The gritty details are here:

Toaster needs the toaster bbclass enabled in Bitbake in order to record target image package information. INHERIT += "toaster"

This enables the toaster bbclass in Bitbake, needed to record target image package information.

INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"

This enables buildhistory in Bitbake, needed to record target image package information. This last command is not strictly needed, yet without it buildhistory will not work right in it's own right.

A bunch of files are created and used under the build/ directory:

  • toaster.sqlite - the database file
  • toaster_web.log - the log file of the web server
  • toaster_ui.log - the log file of the ui component
  • .toastermain.pid - contains the pid of the web server
  • .toasterui.pid - contains the pid of the DSI data bridge
  • bitbake-cookerdaemon.log - the log file of the bitbake server