فهرست منبع

toaster-manual: Explain the local release

The fact that the Local Yocto Project release does not provide any
compatible layers confuses people. Add a section about the local release
to explain what it does.

[YOCTO #9229]

(From yocto-docs rev: cc7ebcd5a66ff3041a7fdd17e697dfb60b08cadd)

Signed-off-by: Belen <belen@icarus.isw.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Belen 9 سال پیش
والد
کامیت
00fe95d133

BIN
documentation/toaster-manual/figures/compatible-layers.png


BIN
documentation/toaster-manual/figures/import-layer.png


BIN
documentation/toaster-manual/figures/new-project.png


+ 509 - 445
documentation/toaster-manual/toaster-manual-setup-and-use.xml

@@ -115,451 +115,515 @@
             To access the Django administration interface, you must
             create a superuser by following these steps:
             <orderedlist>
-                <listitem><para>
-                    If you used <filename>virtualenv</filename>, which is
-                    recommended, to set up the Toaster system dependencies,
-                    you need be sure the virtual environment is activated.
-                    To activate this environment, use the following:
-                    <literallayout class='monospaced'>
-     $ source venv/bin/activate
-                    </literallayout>
-                    </para></listitem>
-                <listitem><para>
-                    From the directory containing the Toaster database,
-                    which by default is the
-                    <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
-                    invoke the <filename>createsuperuser</filename> command
-                    from <filename>manage.py</filename>:
-                    <literallayout class='monospaced'>
-     $ cd ~/poky/build
-     $ ../bitbake/lib/toaster/manage.py createsuperuser
-                    </literallayout>
-                    </para></listitem>
-                <listitem><para>
-                    Django prompts you for the username, which you need to
-                    provide.
-                    </para></listitem>
-                <listitem><para>
-                    Django prompts you for an email address, which is
-                    optional.
-                    </para></listitem>
-                <listitem><para>
-                    Django prompts you for a password, which you must provide.
-                    </para></listitem>
-                <listitem><para>
-                    Django prompts you to re-enter your password for verification.
-                    </para></listitem>
-            </orderedlist>
-            After completing these steps, the following confirmation message
-            appears:
-            <literallayout class='monospaced'>
-     Superuser created successfully.
-            </literallayout>
-        </para>
-
-        <para>
-            Creating a superuser allows you to access the Django administration
-            interface through a browser.
-            The URL for this interface is the same as the URL used for the
-            Toaster instance with "/admin" on the end.
-            For example, if you are running Toaster locally, use the
-            following URL:
-            <literallayout class='monospaced'>
-     http://127.0.0.1:8000/admin
-            </literallayout>
-            You can use the Django administration interface to set Toaster
-            configuration parameters such as the build directory, layer sources,
-            default variable values, and BitBake versions.
-        </para>
-    </section>
-
-    <section id='toaster-setting-up-a-production-instance-of-toaster'>
-        <title>Setting Up a Production Instance of Toaster</title>
-
-        <para>
-            You can use a production instance of Toaster to share the
-            Toaster instance with remote users, multiple users, or both.
-            The production instance is also the setup that can cope with
-            heavier loads on the web service.
-            Use the instructions in the following sections to set up
-            Toaster to run builds through the Toaster web interface.
-        </para>
-
-        <section id='toaster-production-instance-requirements'>
-            <title>Requirements</title>
-
-            <para>
-                Be sure you meet the following requirements:
-                <note>
-                    You must comply with all Apache,
-                    <filename>mod-wsgi</filename>, and Mysql requirements.
-                </note>
-                <itemizedlist>
-                    <listitem><para>
-                        Have all the build requirements as described in
-                        "<link linkend='toaster-setting-up-the-basic-system-requirements'>Setting Up the Basic System Requirements</link>"
-                        chapter.
-                        </para></listitem>
-                    <listitem><para>
-                        Have an Apache webserver.
-                        </para></listitem>
-                    <listitem><para>
-                        Have <filename>mod-wsgi</filename> for the Apache
-                        webserver.
-                        </para></listitem>
-                    <listitem><para>
-                        Use the Mysql database server.
-                        </para></listitem>
-                    <listitem><para>
-                        If you are using Ubuntu 14.04.3, run the following:
-                        <literallayout class='monospaced'>
-     $ sudo apt-get install apache2 libapache2-mod-wsgi mysql-server virtualenv libmysqlclient-dev
-                        </literallayout>
-                        </para></listitem>
-                    <listitem><para>
-                        If you are using Fedora 22 or a RedHat distribution, run
-                        the following:
-                        <literallayout class='monospaced'>
-     $ sudo dnf install httpd mod_wsgi python-virtualenv gcc mysql-devel
-                        </literallayout>
-                        </para></listitem>
-                </itemizedlist>
-            </para>
-        </section>
-
-        <section id='toaster-installation-steps'>
-            <title>Installation</title>
-
-            <para>
-                Perform the following steps to install Toaster:
-                <orderedlist>
-                    <listitem><para>
-                        Checkout a copy of <filename>poky</filename>
-                        into the web server directory.
-                        You will be using <filename>/var/www/toaster</filename>:
-                        <literallayout class='monospaced'>
-     $ mkdir -p /var/www/toaster
-     $ cd /var/www/toaster/
-     $ git clone git://git.yoctoproject.org/poky
-     $ git checkout &DISTRO_NAME;
-                        </literallayout>
-                        </para></listitem>
-                    <listitem><para>
-                        Initialize a virtual environment and install Toaster
-                        dependencies.
-                        Using a virtual environment keeps the Python packages
-                        isolated from your system-provided packages:
-                        <literallayout class='monospaced'>
-     $ cd /var/www/toaster/
-     $ virtualenv venv
-     $ source ./venv/bin/activate
-     $ pip install -r ./poky/bitbake/toaster-requirements.txt
-     $ pip install mysql
-     $ pip install MySQL-python
-                        </literallayout>
-                        <note>
-                            Isolating these packages is not required but is
-                            recommended.
-                            Alternatively, you can use your operating system's
-                            package manager to install the packages.
-                        </note>
-                        </para></listitem>
-                    <listitem><para>
-                        Configure Toaster by editing
-                        <filename>/var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py</filename>
-                        as follows:
-                        <itemizedlist>
-                            <listitem><para>
-                                Edit the <filename>DATABASE</filename> settings:
-                                <literallayout class='monospaced'>
-     DATABASES = {
-         'default': {
-             'ENGINE': 'django.db.backends.mysql',
-             'NAME': 'toaster_data',
-             'USER': 'toaster',
-             'PASSWORD': 'yourpasswordhere',
-             'HOST': 'localhost',
-             'PORT': '3306',
-        }
-     }
-                                </literallayout>
-                                </para></listitem>
-                            <listitem><para>
-                                Edit the <filename>SECRET_KEY</filename>:
-                                <literallayout class='monospaced'>
-     SECRET_KEY = '<replaceable>your_secret_key</replaceable>'
-                                </literallayout>
-                                </para></listitem>
-                            <listitem><para>
-                                Edit the <filename>STATIC_ROOT</filename>:
-                                <literallayout class='monospaced'>
-     STATIC_ROOT = '/var/www/toaster/static_files/'
-                                </literallayout>
-                                </para></listitem>
-                        </itemizedlist>
-                        </para></listitem>
-                    <listitem><para>
-                        Add the database and user to the <filename>mysql</filename>
-                        server defined earlier:
-                        <literallayout class='monospaced'>
-     $ mysql -u root -p
-     mysql> CREATE DATABASE toaster_data;
-     mysql> CREATE USER 'toaster'@'localhost' identified by 'yourpasswordhere';
-     mysql> GRANT all on toaster_data.* to 'toaster'@'localhost';
-     mysql> quit
-                        </literallayout>
-                        </para></listitem>
-                    <listitem><para>
-                        Get Toaster to create the database schema,
-                        default data, and gather the statically-served files:
-                        <literallayout class='monospaced'>
-     $ cd  /var/www/toaster/poky/
-     $ ./bitbake/lib/toaster/manage.py syncdb
-     $ ./bitbake/lib/toaster/manage.py migrate
-     $ TOASTER_DIR=`pwd` TOASTER_CONF=./meta-yocto/conf/toasterconf.json ./bitbake/lib/toaster/manage.py checksettings
-     $ ./bitbake/lib/toaster/manage.py collectstatic
-                        </literallayout>
-                        </para>
-
-                        <para>
-                            For the above set of commands, after moving to the
-                            <filename>poky</filename> directory,
-                            the <filename>syncdb</filename> and <filename>migrate</filename>
-                            commands ensure the database
-                            schema has had changes propagated correctly (i.e.
-                            migrations).
-                        </para>
-
-                        <para>
-                            The next line sets the Toaster root directory
-                            <filename>TOASTER_DIR</filename> and the location of
-                            the Toaster configuration file
-                            <filename>TOASTER_CONF</filename>, which is
-                            relative to the Toaster root directory
-                            <filename>TOASTER_DIR</filename>.
-                            For more information on the Toaster configuration file
-                            <filename>TOASTER_CONF</filename>, see the
-                            <link linkend='toaster-json-files'>JSON Files</link>
-                            section of this manual.
-                        </para>
-
-                        <para>
-                            This line also runs the <filename>checksettings</filename>
-                            command, which configures the location of the Toaster
-                            <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build directory</ulink>.
-                            The Toaster root directory <filename>TOASTER_DIR</filename>
-                            determines where the Toaster build directory
-                            is created on the file system.
-                            In the example above,
-                            <filename>TOASTER_DIR</filename> is set as follows:
-                            <literallayout class="monospaced">
-     /var/www/toaster/poky
-                            </literallayout>
-                            This setting causes the Toaster build directory to be:
-                            <literallayout class="monospaced">
-     /var/www/toaster/poky/build
-                            </literallayout>
-                        </para>
-
-                        <para>
-                            Finally, the <filename>collectstatic</filename> command
-                            is a Django framework command that collects all the
-                            statically served files into a designated directory to
-                            be served up by the Apache web server.
-                        </para></listitem>
-                    <listitem><para>
-                        Add an Apache configuration file for Toaster to your Apache web
-                        server's configuration directory.
-                        If you are using Ubuntu or Debian, put the file here:
-                        <literallayout class='monospaced'>
-     /etc/apache2/conf-available/toaster.conf
-                        </literallayout>
-                        If you are using Fedora or RedHat, put it here:
-                        <literallayout class='monospaced'>
-     /etc/httpd/conf.d/toaster.conf
-                        </literallayout>
-                        Following is a sample Apache configuration for Toaster
-                        you can follow:
-                        <literallayout class='monospaced'>
-     Alias /static /var/www/toaster/static_files
-     &lt;Directory /var/www/toaster/static_files&gt;
-             Order allow,deny
-             Allow from all
-             Require all granted
-     &lt;/Directory&gt;
-
-     WSGIDaemonProcess toaster_wsgi python-path=/var/www/toaster/poky/bitbake/lib/toaster:/var/www/toaster/venv/lib/python2.7/site-packages
-
-     WSGIScriptAlias / "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py"
-     &lt;Location /&gt;
-         WSGIProcessGroup toastern_wsgi
-     &lt;/Location&gt;
-                        </literallayout>
-                        If you are using Ubuntu or Debian,
-                        you will need to enable the config and module for Apache:
-                        <literallayout class='monospaced'>
-     $ sudo a2enmod wsgi
-     $ sudo a2enconf toaster
-     $ chmod +x bitbake/lib/toaster/toastermain/wsgi.py
-                        </literallayout>
-                        Finally, restart Apache to make sure all new configuration
-                        is loaded.
-                        For Ubuntu and Debian use:
-                        <literallayout class='monospaced'>
-     $ sudo service apache2 restart
-                        </literallayout>
-                        For Fedora and RedHat use:
-                        <literallayout class='monospaced'>
-     $ sudo service httpd restart
-                        </literallayout>
-                        </para></listitem>
-                    <listitem><para>
-                        Install the build runner service.
-                        This service needs to be running in order to dispatch
-                        builds.
-                        Use this command:
-                        <literallayout class='monospaced'>
-     /var/www/toaster/poky/bitbake/lib/toaster/manage.py runbuilds
-                        </literallayout>
-                        Here is an example:
-                        <literallayout class='monospaced'>
-     #!/bin/sh
-     # toaster run builds dispatcher
-     cd /var/www/toaster/
-     source ./venv/bin/activate
-     ./bitbake/lib/toaster/manage.py runbuilds
-                        </literallayout>
-                        </para></listitem>
-                </orderedlist>
-                You can now open up a browser and start using Toaster.
-            </para>
-        </section>
-    </section>
-
-    <section id='using-the-toaster-web-interface'>
-        <title>Using the Toaster Web Interface</title>
-
-        <para>
-            The Toaster web interface allows you to do the following:
-            <itemizedlist>
-                <listitem><para>
-                    Browse published layers in the
-                    <ulink url='http://layers.openembedded.org'>OpenEmbedded Metadata Index</ulink>
-                    that are available for your selected version of the build
-                    system.
-                    </para></listitem>
-                <listitem><para>
-                    Import your own layers for building.
-                    </para></listitem>
-                <listitem><para>
-                    Add and remove layers from your configuration.
-                    </para></listitem>
-                <listitem><para>
-                    Set configuration variables.
-                    </para></listitem>
-                <listitem><para>
-                    Select a target or multiple targets to build.
-                    </para></listitem>
-                <listitem><para>
-                    Start your builds.
-                    </para></listitem>
-                <listitem><para>
-                    See what was built (recipes and packages) and what
-                    packages were installed into your final image.
-                    </para></listitem>
-                <listitem><para>
-                    Browse the directory structure of your image.
-                    </para></listitem>
-                <listitem><para>
-                    See the value of all variables in your build configuration,
-                    and which files set each value.
-                    </para></listitem>
-                <listitem><para>
-                    Examine error, warning and trace messages to aid in
-                    debugging.
-                    </para></listitem>
-                <listitem><para>
-                    See information about the BitBake tasks executed and
-                    reused during your build, including those that used
-                    shared state.
-                    </para></listitem>
-                <listitem><para>
-                    See dependency relationships between recipes, packages
-                    and tasks.
-                    </para></listitem>
-                <listitem><para>
-                    See performance information such as build time, task time,
-                    CPU usage, and disk I/O.
-                    </para></listitem>
-            </itemizedlist>
-        </para>
-
-        <section id='web-interface-videos'>
-            <title>Toaster Web Interface Videos</title>
-
-            <para>
-                Following are several videos that show how to use the Toaster GUI:
-                <itemizedlist>
-                    <listitem><para><emphasis>Build Configuration:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=qYgDZ8YzV6w'>video</ulink>
-                        overviews and demonstrates build configuration for Toaster.
-                        </para></listitem>
-                    <listitem><para><emphasis>Build Custom Layers:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=QJzaE_XjX5c'>video</ulink>
-                        shows you how to build custom layers that are used with
-                        Toaster.
-                        </para></listitem>
-                    <listitem><para><emphasis>Toaster Homepage and Table Controls:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=QEARDnrR1Xw'>video</ulink>
-                        goes over the Toaster entry page, and provides
-                        an overview of the data manipulation capabilities of
-                        Toaster, which include search, sorting and filtering by
-                        different criteria.
-                        </para></listitem>
-                    <listitem><para><emphasis>Build Dashboard:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=KKqHYcnp2gE'>video</ulink>
-                        shows you the build dashboard, a page providing an
-                        overview of the information available for a selected build.
-                        </para></listitem>
-                    <listitem><para><emphasis>Image Information:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=XqYGFsmA0Rw'>video</ulink>
-                        walks through the information Toaster provides
-                        about images: packages installed and root file system.
-                        </para></listitem>
-                    <listitem><para><emphasis>Configuration:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=UW-j-T2TzIg'>video</ulink>
-                        provides Toaster build configuration information.
-                        </para></listitem>
-                    <listitem><para><emphasis>Tasks:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=D4-9vGSxQtw'>video</ulink>
-                        shows the information Toaster provides about the
-                        tasks run by the build system.
-                        </para></listitem>
-                    <listitem><para><emphasis>Recipes and Packages Built:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=x-6dx4huNnw'>video</ulink>
-                        shows the information Toaster provides about recipes
-                        and packages built.
-                        </para></listitem>
-                    <listitem><para><emphasis>Performance Data:</emphasis>
-                        This
-                        <ulink url='https://www.youtube.com/watch?v=qWGMrJoqusQ'>video</ulink>
-                        shows the build performance data provided by
-                        Toaster.
-                        </para></listitem>
-                </itemizedlist>
-            </para>
-        </section>
-
-        <section id='toaster-web-interface-preferred-version'>
-            <title>Building a Specific Recipe Given Multiple Versions</title>
+              <listitem><para>
+                  If you used <filename>virtualenv</filename>, which is
+                  recommended, to set up the Toaster system dependencies,
+                  you need be sure the virtual environment is activated.
+                  To activate this environment, use the following:
+                  <literallayout class='monospaced'>
+   $ source venv/bin/activate
+                  </literallayout>
+                  </para></listitem>
+              <listitem><para>
+                  From the directory containing the Toaster database,
+                  which by default is the
+                  <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
+                  invoke the <filename>createsuperuser</filename> command
+                  from <filename>manage.py</filename>:
+                  <literallayout class='monospaced'>
+   $ cd ~/poky/build
+   $ ../bitbake/lib/toaster/manage.py createsuperuser
+                  </literallayout>
+                  </para></listitem>
+              <listitem><para>
+                  Django prompts you for the username, which you need to
+                  provide.
+                  </para></listitem>
+              <listitem><para>
+                  Django prompts you for an email address, which is
+                  optional.
+                  </para></listitem>
+              <listitem><para>
+                  Django prompts you for a password, which you must provide.
+                  </para></listitem>
+              <listitem><para>
+                  Django prompts you to re-enter your password for verification.
+                  </para></listitem>
+          </orderedlist>
+          After completing these steps, the following confirmation message
+          appears:
+          <literallayout class='monospaced'>
+   Superuser created successfully.
+          </literallayout>
+      </para>
+
+      <para>
+          Creating a superuser allows you to access the Django administration
+          interface through a browser.
+          The URL for this interface is the same as the URL used for the
+          Toaster instance with "/admin" on the end.
+          For example, if you are running Toaster locally, use the
+          following URL:
+          <literallayout class='monospaced'>
+   http://127.0.0.1:8000/admin
+          </literallayout>
+          You can use the Django administration interface to set Toaster
+          configuration parameters such as the build directory, layer sources,
+          default variable values, and BitBake versions.
+      </para>
+  </section>
+
+  <section id='toaster-setting-up-a-production-instance-of-toaster'>
+      <title>Setting Up a Production Instance of Toaster</title>
+
+      <para>
+          You can use a production instance of Toaster to share the
+          Toaster instance with remote users, multiple users, or both.
+          The production instance is also the setup that can cope with
+          heavier loads on the web service.
+          Use the instructions in the following sections to set up
+          Toaster to run builds through the Toaster web interface.
+      </para>
+
+      <section id='toaster-production-instance-requirements'>
+          <title>Requirements</title>
+
+          <para>
+              Be sure you meet the following requirements:
+              <note>
+                  You must comply with all Apache,
+                  <filename>mod-wsgi</filename>, and Mysql requirements.
+              </note>
+              <itemizedlist>
+                  <listitem><para>
+                      Have all the build requirements as described in
+                      "<link linkend='toaster-setting-up-the-basic-system-requirements'>Setting Up the Basic System Requirements</link>"
+                      chapter.
+                      </para></listitem>
+                  <listitem><para>
+                      Have an Apache webserver.
+                      </para></listitem>
+                  <listitem><para>
+                      Have <filename>mod-wsgi</filename> for the Apache
+                      webserver.
+                      </para></listitem>
+                  <listitem><para>
+                      Use the Mysql database server.
+                      </para></listitem>
+                  <listitem><para>
+                      If you are using Ubuntu 14.04.3, run the following:
+                      <literallayout class='monospaced'>
+   $ sudo apt-get install apache2 libapache2-mod-wsgi mysql-server virtualenv libmysqlclient-dev
+                      </literallayout>
+                      </para></listitem>
+                  <listitem><para>
+                      If you are using Fedora 22 or a RedHat distribution, run
+                      the following:
+                      <literallayout class='monospaced'>
+   $ sudo dnf install httpd mod_wsgi python-virtualenv gcc mysql-devel
+                      </literallayout>
+                      </para></listitem>
+              </itemizedlist>
+          </para>
+      </section>
+
+      <section id='toaster-installation-steps'>
+          <title>Installation</title>
+
+          <para>
+              Perform the following steps to install Toaster:
+              <orderedlist>
+                  <listitem><para>
+                      Checkout a copy of <filename>poky</filename>
+                      into the web server directory.
+                      You will be using <filename>/var/www/toaster</filename>:
+                      <literallayout class='monospaced'>
+   $ mkdir -p /var/www/toaster
+   $ cd /var/www/toaster/
+   $ git clone git://git.yoctoproject.org/poky
+   $ git checkout &DISTRO_NAME;
+                      </literallayout>
+                      </para></listitem>
+                  <listitem><para>
+                      Initialize a virtual environment and install Toaster
+                      dependencies.
+                      Using a virtual environment keeps the Python packages
+                      isolated from your system-provided packages:
+                      <literallayout class='monospaced'>
+   $ cd /var/www/toaster/
+   $ virtualenv venv
+   $ source ./venv/bin/activate
+   $ pip install -r ./poky/bitbake/toaster-requirements.txt
+   $ pip install mysql
+   $ pip install MySQL-python
+                      </literallayout>
+                      <note>
+                          Isolating these packages is not required but is
+                          recommended.
+                          Alternatively, you can use your operating system's
+                          package manager to install the packages.
+                      </note>
+                      </para></listitem>
+                  <listitem><para>
+                      Configure Toaster by editing
+                      <filename>/var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py</filename>
+                      as follows:
+                      <itemizedlist>
+                          <listitem><para>
+                              Edit the <filename>DATABASE</filename> settings:
+                              <literallayout class='monospaced'>
+   DATABASES = {
+       'default': {
+           'ENGINE': 'django.db.backends.mysql',
+           'NAME': 'toaster_data',
+           'USER': 'toaster',
+           'PASSWORD': 'yourpasswordhere',
+           'HOST': 'localhost',
+           'PORT': '3306',
+      }
+   }
+                              </literallayout>
+                              </para></listitem>
+                          <listitem><para>
+                              Edit the <filename>SECRET_KEY</filename>:
+                              <literallayout class='monospaced'>
+   SECRET_KEY = '<replaceable>your_secret_key</replaceable>'
+                              </literallayout>
+                              </para></listitem>
+                          <listitem><para>
+                              Edit the <filename>STATIC_ROOT</filename>:
+                              <literallayout class='monospaced'>
+   STATIC_ROOT = '/var/www/toaster/static_files/'
+                              </literallayout>
+                              </para></listitem>
+                      </itemizedlist>
+                      </para></listitem>
+                  <listitem><para>
+                      Add the database and user to the <filename>mysql</filename>
+                      server defined earlier:
+                      <literallayout class='monospaced'>
+   $ mysql -u root -p
+   mysql> CREATE DATABASE toaster_data;
+   mysql> CREATE USER 'toaster'@'localhost' identified by 'yourpasswordhere';
+   mysql> GRANT all on toaster_data.* to 'toaster'@'localhost';
+   mysql> quit
+                      </literallayout>
+                      </para></listitem>
+                  <listitem><para>
+                      Get Toaster to create the database schema,
+                      default data, and gather the statically-served files:
+                      <literallayout class='monospaced'>
+   $ cd  /var/www/toaster/poky/
+   $ ./bitbake/lib/toaster/manage.py syncdb
+   $ ./bitbake/lib/toaster/manage.py migrate
+   $ TOASTER_DIR=`pwd` TOASTER_CONF=./meta-yocto/conf/toasterconf.json ./bitbake/lib/toaster/manage.py checksettings
+   $ ./bitbake/lib/toaster/manage.py collectstatic
+                      </literallayout>
+                      </para>
+
+                      <para>
+                          For the above set of commands, after moving to the
+                          <filename>poky</filename> directory,
+                          the <filename>syncdb</filename> and <filename>migrate</filename>
+                          commands ensure the database
+                          schema has had changes propagated correctly (i.e.
+                          migrations).
+                      </para>
+
+                      <para>
+                          The next line sets the Toaster root directory
+                          <filename>TOASTER_DIR</filename> and the location of
+                          the Toaster configuration file
+                          <filename>TOASTER_CONF</filename>, which is
+                          relative to the Toaster root directory
+                          <filename>TOASTER_DIR</filename>.
+                          For more information on the Toaster configuration file
+                          <filename>TOASTER_CONF</filename>, see the
+                          <link linkend='toaster-json-files'>JSON Files</link>
+                          section of this manual.
+                      </para>
+
+                      <para>
+                          This line also runs the <filename>checksettings</filename>
+                          command, which configures the location of the Toaster
+                          <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build directory</ulink>.
+                          The Toaster root directory <filename>TOASTER_DIR</filename>
+                          determines where the Toaster build directory
+                          is created on the file system.
+                          In the example above,
+                          <filename>TOASTER_DIR</filename> is set as follows:
+                          <literallayout class="monospaced">
+   /var/www/toaster/poky
+                          </literallayout>
+                          This setting causes the Toaster build directory to be:
+                          <literallayout class="monospaced">
+   /var/www/toaster/poky/build
+                          </literallayout>
+                      </para>
+
+                      <para>
+                          Finally, the <filename>collectstatic</filename> command
+                          is a Django framework command that collects all the
+                          statically served files into a designated directory to
+                          be served up by the Apache web server.
+                      </para></listitem>
+                  <listitem><para>
+                      Add an Apache configuration file for Toaster to your Apache web
+                      server's configuration directory.
+                      If you are using Ubuntu or Debian, put the file here:
+                      <literallayout class='monospaced'>
+   /etc/apache2/conf-available/toaster.conf
+                      </literallayout>
+                      If you are using Fedora or RedHat, put it here:
+                      <literallayout class='monospaced'>
+   /etc/httpd/conf.d/toaster.conf
+                      </literallayout>
+                      Following is a sample Apache configuration for Toaster
+                      you can follow:
+                      <literallayout class='monospaced'>
+   Alias /static /var/www/toaster/static_files
+   &lt;Directory /var/www/toaster/static_files&gt;
+           Order allow,deny
+           Allow from all
+           Require all granted
+   &lt;/Directory&gt;
+
+   WSGIDaemonProcess toaster_wsgi python-path=/var/www/toaster/poky/bitbake/lib/toaster:/var/www/toaster/venv/lib/python2.7/site-packages
+
+   WSGIScriptAlias / "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py"
+   &lt;Location /&gt;
+       WSGIProcessGroup toastern_wsgi
+   &lt;/Location&gt;
+                      </literallayout>
+                      If you are using Ubuntu or Debian,
+                      you will need to enable the config and module for Apache:
+                      <literallayout class='monospaced'>
+   $ sudo a2enmod wsgi
+   $ sudo a2enconf toaster
+   $ chmod +x bitbake/lib/toaster/toastermain/wsgi.py
+                      </literallayout>
+                      Finally, restart Apache to make sure all new configuration
+                      is loaded.
+                      For Ubuntu and Debian use:
+                      <literallayout class='monospaced'>
+   $ sudo service apache2 restart
+                      </literallayout>
+                      For Fedora and RedHat use:
+                      <literallayout class='monospaced'>
+   $ sudo service httpd restart
+                      </literallayout>
+                      </para></listitem>
+                  <listitem><para>
+                      Install the build runner service.
+                      This service needs to be running in order to dispatch
+                      builds.
+                      Use this command:
+                      <literallayout class='monospaced'>
+   /var/www/toaster/poky/bitbake/lib/toaster/manage.py runbuilds
+                      </literallayout>
+                      Here is an example:
+                      <literallayout class='monospaced'>
+   #!/bin/sh
+   # toaster run builds dispatcher
+   cd /var/www/toaster/
+   source ./venv/bin/activate
+   ./bitbake/lib/toaster/manage.py runbuilds
+                      </literallayout>
+                      </para></listitem>
+              </orderedlist>
+              You can now open up a browser and start using Toaster.
+          </para>
+      </section>
+  </section>
+
+  <section id='using-the-toaster-web-interface'>
+      <title>Using the Toaster Web Interface</title>
+
+      <para>
+          The Toaster web interface allows you to do the following:
+          <itemizedlist>
+              <listitem><para>
+                  Browse published layers in the
+                  <ulink url='http://layers.openembedded.org'>OpenEmbedded Metadata Index</ulink>
+                  that are available for your selected version of the build
+                  system.
+                  </para></listitem>
+              <listitem><para>
+                  Import your own layers for building.
+                  </para></listitem>
+              <listitem><para>
+                  Add and remove layers from your configuration.
+                  </para></listitem>
+              <listitem><para>
+                  Set configuration variables.
+                  </para></listitem>
+              <listitem><para>
+                  Select a target or multiple targets to build.
+                  </para></listitem>
+              <listitem><para>
+                  Start your builds.
+                  </para></listitem>
+              <listitem><para>
+                  See what was built (recipes and packages) and what
+                  packages were installed into your final image.
+                  </para></listitem>
+              <listitem><para>
+                  Browse the directory structure of your image.
+                  </para></listitem>
+              <listitem><para>
+                  See the value of all variables in your build configuration,
+                  and which files set each value.
+                  </para></listitem>
+              <listitem><para>
+                  Examine error, warning and trace messages to aid in
+                  debugging.
+                  </para></listitem>
+              <listitem><para>
+                  See information about the BitBake tasks executed and
+                  reused during your build, including those that used
+                  shared state.
+                  </para></listitem>
+              <listitem><para>
+                  See dependency relationships between recipes, packages
+                  and tasks.
+                  </para></listitem>
+              <listitem><para>
+                  See performance information such as build time, task time,
+                  CPU usage, and disk I/O.
+                  </para></listitem>
+          </itemizedlist>
+      </para>
+
+      <section id='web-interface-videos'>
+          <title>Toaster Web Interface Videos</title>
+
+          <para>
+              Following are several videos that show how to use the Toaster GUI:
+              <itemizedlist>
+                  <listitem><para><emphasis>Build Configuration:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=qYgDZ8YzV6w'>video</ulink>
+                      overviews and demonstrates build configuration for Toaster.
+                      </para></listitem>
+                  <listitem><para><emphasis>Build Custom Layers:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=QJzaE_XjX5c'>video</ulink>
+                      shows you how to build custom layers that are used with
+                      Toaster.
+                      </para></listitem>
+                  <listitem><para><emphasis>Toaster Homepage and Table Controls:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=QEARDnrR1Xw'>video</ulink>
+                      goes over the Toaster entry page, and provides
+                      an overview of the data manipulation capabilities of
+                      Toaster, which include search, sorting and filtering by
+                      different criteria.
+                      </para></listitem>
+                  <listitem><para><emphasis>Build Dashboard:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=KKqHYcnp2gE'>video</ulink>
+                      shows you the build dashboard, a page providing an
+                      overview of the information available for a selected build.
+                      </para></listitem>
+                  <listitem><para><emphasis>Image Information:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=XqYGFsmA0Rw'>video</ulink>
+                      walks through the information Toaster provides
+                      about images: packages installed and root file system.
+                      </para></listitem>
+                  <listitem><para><emphasis>Configuration:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=UW-j-T2TzIg'>video</ulink>
+                      provides Toaster build configuration information.
+                      </para></listitem>
+                  <listitem><para><emphasis>Tasks:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=D4-9vGSxQtw'>video</ulink>
+                      shows the information Toaster provides about the
+                      tasks run by the build system.
+                      </para></listitem>
+                  <listitem><para><emphasis>Recipes and Packages Built:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=x-6dx4huNnw'>video</ulink>
+                      shows the information Toaster provides about recipes
+                      and packages built.
+                      </para></listitem>
+                  <listitem><para><emphasis>Performance Data:</emphasis>
+                      This
+                      <ulink url='https://www.youtube.com/watch?v=qWGMrJoqusQ'>video</ulink>
+                      shows the build performance data provided by
+                      Toaster.
+                      </para></listitem>
+              </itemizedlist>
+          </para>
+      </section>
+
+      <section id='a-note-on-the-local-yocto-project-release'>
+          <title>A Note on the Local Yocto Project Release</title>
+
+          <para>
+              This note only applies if you have set up Toaster
+              for local development, as explained in
+              <link linkend='starting-toaster-for-local-development'>
+                section 3.1.</link>
+          </para>
+          <para>
+              When you create a project in Toaster, you will be asked to
+              provide a name and to select a Yocto Project release. One
+              of the release options you will find is called
+              <emphasis>Local Yocto Project</emphasis>.
+              <imagedata fileref="figures/new-project.png" align="center" width="9in" />
+          </para>
+
+          <para>
+              When you select the <emphasis>Local Yocto Project</emphasis>
+              release, Toaster will run your builds using the local Yocto
+              Project clone you have in your computer: the same clone
+              you are using to run Toaster. Unless you manually update
+              this clone, your builds will always use the same Git revision.
+          </para>
+
+          <para>
+              If you select any of the other release options, Toaster
+              will fetch the tip of your selected release from the upstream
+              <ulink url='https://git.yoctoproject.org'>Yocto Project
+              repository</ulink> every time you run a build. This effectively
+              means that if your selected release is updated upstream, the
+              Git revision you are using for your builds will change.
+              If you are doing development locally, you might not want this
+              to happen. In that case, the <emphasis>Local Yocto Project</emphasis>
+              release might be the right choice.
+          </para>
+
+          <para>
+              However, the <emphasis>Local Yocto Project</emphasis> release
+              will not provide you with any compatible layers, other than the
+              three core layers that come with the Yocto Project:
+              <itemizedlist>
+                  <listitem><para>
+                      <ulink url='http://layers.openembedded.org/layerindex/branch/master/layer/openembedded-core/'>openembedded-core</ulink>
+                  </para></listitem>
+                  <listitem><para>
+                      <ulink url='http://layers.openembedded.org/layerindex/branch/master/layer/meta-poky/'>meta-poky</ulink>
+                  </para></listitem>
+                  <listitem><para>
+                      <ulink url='http://layers.openembedded.org/layerindex/branch/master/layer/meta-yocto-bsp/'>meta-yocto-bsp</ulink>
+                  </para></listitem>
+              </itemizedlist>
+              <imagedata fileref="figures/compatible-layers.png" align="center" width="9in" />
+          </para>
+
+          <para>
+              If you want to build any other layers, you will need to
+              manually import them into your Toaster project, using the
+              <emphasis>Import layer</emphasis> page.
+              <imagedata fileref="figures/import-layer.png" align="center" width="9in" />
+          </para>
+
+      </section>
+
+      <section id='toaster-web-interface-preferred-version'>
+          <title>Building a Specific Recipe Given Multiple Versions</title>
 
             <para>
                 Occasionally, a layer might provide more than one version of