summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBelen <belen@icarus.isw.intel.com>2016-03-14 18:40:58 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-23 21:56:06 +0000
commit00fe95d133fdb6fcdd982afe7f27a77bb021f788 (patch)
treea03e34a904fe73b50d77324b3a645822771d6f89
parentd06c7b8ce6249529de0bde0a568c0658b7148bf4 (diff)
downloadpoky-00fe95d133fdb6fcdd982afe7f27a77bb021f788.tar.gz
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>
-rw-r--r--documentation/toaster-manual/figures/compatible-layers.pngbin0 -> 163081 bytes
-rw-r--r--documentation/toaster-manual/figures/import-layer.pngbin0 -> 139108 bytes
-rw-r--r--documentation/toaster-manual/figures/new-project.pngbin0 -> 73760 bytes
-rw-r--r--documentation/toaster-manual/toaster-manual-setup-and-use.xml954
4 files changed, 509 insertions, 445 deletions
diff --git a/documentation/toaster-manual/figures/compatible-layers.png b/documentation/toaster-manual/figures/compatible-layers.png
new file mode 100644
index 0000000000..38436b075c
--- /dev/null
+++ b/documentation/toaster-manual/figures/compatible-layers.png
Binary files differ
diff --git a/documentation/toaster-manual/figures/import-layer.png b/documentation/toaster-manual/figures/import-layer.png
new file mode 100644
index 0000000000..436ec7af4a
--- /dev/null
+++ b/documentation/toaster-manual/figures/import-layer.png
Binary files differ
diff --git a/documentation/toaster-manual/figures/new-project.png b/documentation/toaster-manual/figures/new-project.png
new file mode 100644
index 0000000000..dbc50b9918
--- /dev/null
+++ b/documentation/toaster-manual/figures/new-project.png
Binary files differ
diff --git a/documentation/toaster-manual/toaster-manual-setup-and-use.xml b/documentation/toaster-manual/toaster-manual-setup-and-use.xml
index 3e05eb2828..2e465f432b 100644
--- a/documentation/toaster-manual/toaster-manual-setup-and-use.xml
+++ b/documentation/toaster-manual/toaster-manual-setup-and-use.xml
@@ -115,451 +115,515 @@
115 To access the Django administration interface, you must 115 To access the Django administration interface, you must
116 create a superuser by following these steps: 116 create a superuser by following these steps:
117 <orderedlist> 117 <orderedlist>
118 <listitem><para> 118 <listitem><para>
119 If you used <filename>virtualenv</filename>, which is 119 If you used <filename>virtualenv</filename>, which is
120 recommended, to set up the Toaster system dependencies, 120 recommended, to set up the Toaster system dependencies,
121 you need be sure the virtual environment is activated. 121 you need be sure the virtual environment is activated.
122 To activate this environment, use the following: 122 To activate this environment, use the following:
123 <literallayout class='monospaced'> 123 <literallayout class='monospaced'>
124 $ source venv/bin/activate 124 $ source venv/bin/activate
125 </literallayout> 125 </literallayout>
126 </para></listitem> 126 </para></listitem>
127 <listitem><para> 127 <listitem><para>
128 From the directory containing the Toaster database, 128 From the directory containing the Toaster database,
129 which by default is the 129 which by default is the
130 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, 130 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
131 invoke the <filename>createsuperuser</filename> command 131 invoke the <filename>createsuperuser</filename> command
132 from <filename>manage.py</filename>: 132 from <filename>manage.py</filename>:
133 <literallayout class='monospaced'> 133 <literallayout class='monospaced'>
134 $ cd ~/poky/build 134 $ cd ~/poky/build
135 $ ../bitbake/lib/toaster/manage.py createsuperuser 135 $ ../bitbake/lib/toaster/manage.py createsuperuser
136 </literallayout> 136 </literallayout>
137 </para></listitem> 137 </para></listitem>
138 <listitem><para> 138 <listitem><para>
139 Django prompts you for the username, which you need to 139 Django prompts you for the username, which you need to
140 provide. 140 provide.
141 </para></listitem> 141 </para></listitem>
142 <listitem><para> 142 <listitem><para>
143 Django prompts you for an email address, which is 143 Django prompts you for an email address, which is
144 optional. 144 optional.
145 </para></listitem> 145 </para></listitem>
146 <listitem><para> 146 <listitem><para>
147 Django prompts you for a password, which you must provide. 147 Django prompts you for a password, which you must provide.
148 </para></listitem> 148 </para></listitem>
149 <listitem><para> 149 <listitem><para>
150 Django prompts you to re-enter your password for verification. 150 Django prompts you to re-enter your password for verification.
151 </para></listitem> 151 </para></listitem>
152 </orderedlist> 152 </orderedlist>
153 After completing these steps, the following confirmation message 153 After completing these steps, the following confirmation message
154 appears: 154 appears:
155 <literallayout class='monospaced'> 155 <literallayout class='monospaced'>
156 Superuser created successfully. 156 Superuser created successfully.
157 </literallayout> 157 </literallayout>
158 </para> 158 </para>
159 159
160 <para> 160 <para>
161 Creating a superuser allows you to access the Django administration 161 Creating a superuser allows you to access the Django administration
162 interface through a browser. 162 interface through a browser.
163 The URL for this interface is the same as the URL used for the 163 The URL for this interface is the same as the URL used for the
164 Toaster instance with "/admin" on the end. 164 Toaster instance with "/admin" on the end.
165 For example, if you are running Toaster locally, use the 165 For example, if you are running Toaster locally, use the
166 following URL: 166 following URL:
167 <literallayout class='monospaced'> 167 <literallayout class='monospaced'>
168 http://127.0.0.1:8000/admin 168 http://127.0.0.1:8000/admin
169 </literallayout> 169 </literallayout>
170 You can use the Django administration interface to set Toaster 170 You can use the Django administration interface to set Toaster
171 configuration parameters such as the build directory, layer sources, 171 configuration parameters such as the build directory, layer sources,
172 default variable values, and BitBake versions. 172 default variable values, and BitBake versions.
173 </para> 173 </para>
174 </section> 174 </section>
175 175
176 <section id='toaster-setting-up-a-production-instance-of-toaster'> 176 <section id='toaster-setting-up-a-production-instance-of-toaster'>
177 <title>Setting Up a Production Instance of Toaster</title> 177 <title>Setting Up a Production Instance of Toaster</title>
178 178
179 <para> 179 <para>
180 You can use a production instance of Toaster to share the 180 You can use a production instance of Toaster to share the
181 Toaster instance with remote users, multiple users, or both. 181 Toaster instance with remote users, multiple users, or both.
182 The production instance is also the setup that can cope with 182 The production instance is also the setup that can cope with
183 heavier loads on the web service. 183 heavier loads on the web service.
184 Use the instructions in the following sections to set up 184 Use the instructions in the following sections to set up
185 Toaster to run builds through the Toaster web interface. 185 Toaster to run builds through the Toaster web interface.
186 </para> 186 </para>
187 187
188 <section id='toaster-production-instance-requirements'> 188 <section id='toaster-production-instance-requirements'>
189 <title>Requirements</title> 189 <title>Requirements</title>
190 190
191 <para> 191 <para>
192 Be sure you meet the following requirements: 192 Be sure you meet the following requirements:
193 <note> 193 <note>
194 You must comply with all Apache, 194 You must comply with all Apache,
195 <filename>mod-wsgi</filename>, and Mysql requirements. 195 <filename>mod-wsgi</filename>, and Mysql requirements.
196 </note> 196 </note>
197 <itemizedlist> 197 <itemizedlist>
198 <listitem><para> 198 <listitem><para>
199 Have all the build requirements as described in 199 Have all the build requirements as described in
200 "<link linkend='toaster-setting-up-the-basic-system-requirements'>Setting Up the Basic System Requirements</link>" 200 "<link linkend='toaster-setting-up-the-basic-system-requirements'>Setting Up the Basic System Requirements</link>"
201 chapter. 201 chapter.
202 </para></listitem> 202 </para></listitem>
203 <listitem><para> 203 <listitem><para>
204 Have an Apache webserver. 204 Have an Apache webserver.
205 </para></listitem> 205 </para></listitem>
206 <listitem><para> 206 <listitem><para>
207 Have <filename>mod-wsgi</filename> for the Apache 207 Have <filename>mod-wsgi</filename> for the Apache
208 webserver. 208 webserver.
209 </para></listitem> 209 </para></listitem>
210 <listitem><para> 210 <listitem><para>
211 Use the Mysql database server. 211 Use the Mysql database server.
212 </para></listitem> 212 </para></listitem>
213 <listitem><para> 213 <listitem><para>
214 If you are using Ubuntu 14.04.3, run the following: 214 If you are using Ubuntu 14.04.3, run the following:
215 <literallayout class='monospaced'> 215 <literallayout class='monospaced'>
216 $ sudo apt-get install apache2 libapache2-mod-wsgi mysql-server virtualenv libmysqlclient-dev 216 $ sudo apt-get install apache2 libapache2-mod-wsgi mysql-server virtualenv libmysqlclient-dev
217 </literallayout> 217 </literallayout>
218 </para></listitem> 218 </para></listitem>
219 <listitem><para> 219 <listitem><para>
220 If you are using Fedora 22 or a RedHat distribution, run 220 If you are using Fedora 22 or a RedHat distribution, run
221 the following: 221 the following:
222 <literallayout class='monospaced'> 222 <literallayout class='monospaced'>
223 $ sudo dnf install httpd mod_wsgi python-virtualenv gcc mysql-devel 223 $ sudo dnf install httpd mod_wsgi python-virtualenv gcc mysql-devel
224 </literallayout> 224 </literallayout>
225 </para></listitem> 225 </para></listitem>
226 </itemizedlist> 226 </itemizedlist>
227 </para> 227 </para>
228 </section> 228 </section>
229 229
230 <section id='toaster-installation-steps'> 230 <section id='toaster-installation-steps'>
231 <title>Installation</title> 231 <title>Installation</title>
232 232
233 <para> 233 <para>
234 Perform the following steps to install Toaster: 234 Perform the following steps to install Toaster:
235 <orderedlist> 235 <orderedlist>
236 <listitem><para> 236 <listitem><para>
237 Checkout a copy of <filename>poky</filename> 237 Checkout a copy of <filename>poky</filename>
238 into the web server directory. 238 into the web server directory.
239 You will be using <filename>/var/www/toaster</filename>: 239 You will be using <filename>/var/www/toaster</filename>:
240 <literallayout class='monospaced'> 240 <literallayout class='monospaced'>
241 $ mkdir -p /var/www/toaster 241 $ mkdir -p /var/www/toaster
242 $ cd /var/www/toaster/ 242 $ cd /var/www/toaster/
243 $ git clone git://git.yoctoproject.org/poky 243 $ git clone git://git.yoctoproject.org/poky
244 $ git checkout &DISTRO_NAME; 244 $ git checkout &DISTRO_NAME;
245 </literallayout> 245 </literallayout>
246 </para></listitem> 246 </para></listitem>
247 <listitem><para> 247 <listitem><para>
248 Initialize a virtual environment and install Toaster 248 Initialize a virtual environment and install Toaster
249 dependencies. 249 dependencies.
250 Using a virtual environment keeps the Python packages 250 Using a virtual environment keeps the Python packages
251 isolated from your system-provided packages: 251 isolated from your system-provided packages:
252 <literallayout class='monospaced'> 252 <literallayout class='monospaced'>
253 $ cd /var/www/toaster/ 253 $ cd /var/www/toaster/
254 $ virtualenv venv 254 $ virtualenv venv
255 $ source ./venv/bin/activate 255 $ source ./venv/bin/activate
256 $ pip install -r ./poky/bitbake/toaster-requirements.txt 256 $ pip install -r ./poky/bitbake/toaster-requirements.txt
257 $ pip install mysql 257 $ pip install mysql
258 $ pip install MySQL-python 258 $ pip install MySQL-python
259 </literallayout> 259 </literallayout>
260 <note> 260 <note>
261 Isolating these packages is not required but is 261 Isolating these packages is not required but is
262 recommended. 262 recommended.
263 Alternatively, you can use your operating system's 263 Alternatively, you can use your operating system's
264 package manager to install the packages. 264 package manager to install the packages.
265 </note> 265 </note>
266 </para></listitem> 266 </para></listitem>
267 <listitem><para> 267 <listitem><para>
268 Configure Toaster by editing 268 Configure Toaster by editing
269 <filename>/var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py</filename> 269 <filename>/var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py</filename>
270 as follows: 270 as follows:
271 <itemizedlist> 271 <itemizedlist>
272 <listitem><para> 272 <listitem><para>
273 Edit the <filename>DATABASE</filename> settings: 273 Edit the <filename>DATABASE</filename> settings:
274 <literallayout class='monospaced'> 274 <literallayout class='monospaced'>
275 DATABASES = { 275 DATABASES = {
276 'default': { 276 'default': {
277 'ENGINE': 'django.db.backends.mysql', 277 'ENGINE': 'django.db.backends.mysql',
278 'NAME': 'toaster_data', 278 'NAME': 'toaster_data',
279 'USER': 'toaster', 279 'USER': 'toaster',
280 'PASSWORD': 'yourpasswordhere', 280 'PASSWORD': 'yourpasswordhere',
281 'HOST': 'localhost', 281 'HOST': 'localhost',
282 'PORT': '3306', 282 'PORT': '3306',
283 } 283 }
284 } 284 }
285 </literallayout> 285 </literallayout>
286 </para></listitem> 286 </para></listitem>
287 <listitem><para> 287 <listitem><para>
288 Edit the <filename>SECRET_KEY</filename>: 288 Edit the <filename>SECRET_KEY</filename>:
289 <literallayout class='monospaced'> 289 <literallayout class='monospaced'>
290 SECRET_KEY = '<replaceable>your_secret_key</replaceable>' 290 SECRET_KEY = '<replaceable>your_secret_key</replaceable>'
291 </literallayout> 291 </literallayout>
292 </para></listitem> 292 </para></listitem>
293 <listitem><para> 293 <listitem><para>
294 Edit the <filename>STATIC_ROOT</filename>: 294 Edit the <filename>STATIC_ROOT</filename>:
295 <literallayout class='monospaced'> 295 <literallayout class='monospaced'>
296 STATIC_ROOT = '/var/www/toaster/static_files/' 296 STATIC_ROOT = '/var/www/toaster/static_files/'
297 </literallayout> 297 </literallayout>
298 </para></listitem> 298 </para></listitem>
299 </itemizedlist> 299 </itemizedlist>
300 </para></listitem> 300 </para></listitem>
301 <listitem><para> 301 <listitem><para>
302 Add the database and user to the <filename>mysql</filename> 302 Add the database and user to the <filename>mysql</filename>
303 server defined earlier: 303 server defined earlier:
304 <literallayout class='monospaced'> 304 <literallayout class='monospaced'>
305 $ mysql -u root -p 305 $ mysql -u root -p
306 mysql> CREATE DATABASE toaster_data; 306 mysql> CREATE DATABASE toaster_data;
307 mysql> CREATE USER 'toaster'@'localhost' identified by 'yourpasswordhere'; 307 mysql> CREATE USER 'toaster'@'localhost' identified by 'yourpasswordhere';
308 mysql> GRANT all on toaster_data.* to 'toaster'@'localhost'; 308 mysql> GRANT all on toaster_data.* to 'toaster'@'localhost';
309 mysql> quit 309 mysql> quit
310 </literallayout> 310 </literallayout>
311 </para></listitem> 311 </para></listitem>
312 <listitem><para> 312 <listitem><para>
313 Get Toaster to create the database schema, 313 Get Toaster to create the database schema,
314 default data, and gather the statically-served files: 314 default data, and gather the statically-served files:
315 <literallayout class='monospaced'> 315 <literallayout class='monospaced'>
316 $ cd /var/www/toaster/poky/ 316 $ cd /var/www/toaster/poky/
317 $ ./bitbake/lib/toaster/manage.py syncdb 317 $ ./bitbake/lib/toaster/manage.py syncdb
318 $ ./bitbake/lib/toaster/manage.py migrate 318 $ ./bitbake/lib/toaster/manage.py migrate
319 $ TOASTER_DIR=`pwd` TOASTER_CONF=./meta-yocto/conf/toasterconf.json ./bitbake/lib/toaster/manage.py checksettings 319 $ TOASTER_DIR=`pwd` TOASTER_CONF=./meta-yocto/conf/toasterconf.json ./bitbake/lib/toaster/manage.py checksettings
320 $ ./bitbake/lib/toaster/manage.py collectstatic 320 $ ./bitbake/lib/toaster/manage.py collectstatic
321 </literallayout> 321 </literallayout>
322 </para> 322 </para>
323 323
324 <para> 324 <para>
325 For the above set of commands, after moving to the 325 For the above set of commands, after moving to the
326 <filename>poky</filename> directory, 326 <filename>poky</filename> directory,
327 the <filename>syncdb</filename> and <filename>migrate</filename> 327 the <filename>syncdb</filename> and <filename>migrate</filename>
328 commands ensure the database 328 commands ensure the database
329 schema has had changes propagated correctly (i.e. 329 schema has had changes propagated correctly (i.e.
330 migrations). 330 migrations).
331 </para> 331 </para>
332 332
333 <para> 333 <para>
334 The next line sets the Toaster root directory 334 The next line sets the Toaster root directory
335 <filename>TOASTER_DIR</filename> and the location of 335 <filename>TOASTER_DIR</filename> and the location of
336 the Toaster configuration file 336 the Toaster configuration file
337 <filename>TOASTER_CONF</filename>, which is 337 <filename>TOASTER_CONF</filename>, which is
338 relative to the Toaster root directory 338 relative to the Toaster root directory
339 <filename>TOASTER_DIR</filename>. 339 <filename>TOASTER_DIR</filename>.
340 For more information on the Toaster configuration file 340 For more information on the Toaster configuration file
341 <filename>TOASTER_CONF</filename>, see the 341 <filename>TOASTER_CONF</filename>, see the
342 <link linkend='toaster-json-files'>JSON Files</link> 342 <link linkend='toaster-json-files'>JSON Files</link>
343 section of this manual. 343 section of this manual.
344 </para> 344 </para>
345 345
346 <para> 346 <para>
347 This line also runs the <filename>checksettings</filename> 347 This line also runs the <filename>checksettings</filename>
348 command, which configures the location of the Toaster 348 command, which configures the location of the Toaster
349 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build directory</ulink>. 349 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build directory</ulink>.
350 The Toaster root directory <filename>TOASTER_DIR</filename> 350 The Toaster root directory <filename>TOASTER_DIR</filename>
351 determines where the Toaster build directory 351 determines where the Toaster build directory
352 is created on the file system. 352 is created on the file system.
353 In the example above, 353 In the example above,
354 <filename>TOASTER_DIR</filename> is set as follows: 354 <filename>TOASTER_DIR</filename> is set as follows:
355 <literallayout class="monospaced"> 355 <literallayout class="monospaced">
356 /var/www/toaster/poky 356 /var/www/toaster/poky
357 </literallayout> 357 </literallayout>
358 This setting causes the Toaster build directory to be: 358 This setting causes the Toaster build directory to be:
359 <literallayout class="monospaced"> 359 <literallayout class="monospaced">
360 /var/www/toaster/poky/build 360 /var/www/toaster/poky/build
361 </literallayout> 361 </literallayout>
362 </para> 362 </para>
363 363
364 <para> 364 <para>
365 Finally, the <filename>collectstatic</filename> command 365 Finally, the <filename>collectstatic</filename> command
366 is a Django framework command that collects all the 366 is a Django framework command that collects all the
367 statically served files into a designated directory to 367 statically served files into a designated directory to
368 be served up by the Apache web server. 368 be served up by the Apache web server.
369 </para></listitem> 369 </para></listitem>
370 <listitem><para> 370 <listitem><para>
371 Add an Apache configuration file for Toaster to your Apache web 371 Add an Apache configuration file for Toaster to your Apache web
372 server's configuration directory. 372 server's configuration directory.
373 If you are using Ubuntu or Debian, put the file here: 373 If you are using Ubuntu or Debian, put the file here:
374 <literallayout class='monospaced'> 374 <literallayout class='monospaced'>
375 /etc/apache2/conf-available/toaster.conf 375 /etc/apache2/conf-available/toaster.conf
376 </literallayout> 376 </literallayout>
377 If you are using Fedora or RedHat, put it here: 377 If you are using Fedora or RedHat, put it here:
378 <literallayout class='monospaced'> 378 <literallayout class='monospaced'>
379 /etc/httpd/conf.d/toaster.conf 379 /etc/httpd/conf.d/toaster.conf
380 </literallayout> 380 </literallayout>
381 Following is a sample Apache configuration for Toaster 381 Following is a sample Apache configuration for Toaster
382 you can follow: 382 you can follow:
383 <literallayout class='monospaced'> 383 <literallayout class='monospaced'>
384 Alias /static /var/www/toaster/static_files 384 Alias /static /var/www/toaster/static_files
385 &lt;Directory /var/www/toaster/static_files&gt; 385 &lt;Directory /var/www/toaster/static_files&gt;
386 Order allow,deny 386 Order allow,deny
387 Allow from all 387 Allow from all
388 Require all granted 388 Require all granted
389 &lt;/Directory&gt; 389 &lt;/Directory&gt;
390 390
391 WSGIDaemonProcess toaster_wsgi python-path=/var/www/toaster/poky/bitbake/lib/toaster:/var/www/toaster/venv/lib/python2.7/site-packages 391 WSGIDaemonProcess toaster_wsgi python-path=/var/www/toaster/poky/bitbake/lib/toaster:/var/www/toaster/venv/lib/python2.7/site-packages
392 392
393 WSGIScriptAlias / "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py" 393 WSGIScriptAlias / "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py"
394 &lt;Location /&gt; 394 &lt;Location /&gt;
395 WSGIProcessGroup toastern_wsgi 395 WSGIProcessGroup toastern_wsgi
396 &lt;/Location&gt; 396 &lt;/Location&gt;
397 </literallayout> 397 </literallayout>
398 If you are using Ubuntu or Debian, 398 If you are using Ubuntu or Debian,
399 you will need to enable the config and module for Apache: 399 you will need to enable the config and module for Apache:
400 <literallayout class='monospaced'> 400 <literallayout class='monospaced'>
401 $ sudo a2enmod wsgi 401 $ sudo a2enmod wsgi
402 $ sudo a2enconf toaster 402 $ sudo a2enconf toaster
403 $ chmod +x bitbake/lib/toaster/toastermain/wsgi.py 403 $ chmod +x bitbake/lib/toaster/toastermain/wsgi.py
404 </literallayout> 404 </literallayout>
405 Finally, restart Apache to make sure all new configuration 405 Finally, restart Apache to make sure all new configuration
406 is loaded. 406 is loaded.
407 For Ubuntu and Debian use: 407 For Ubuntu and Debian use:
408 <literallayout class='monospaced'> 408 <literallayout class='monospaced'>
409 $ sudo service apache2 restart 409 $ sudo service apache2 restart
410 </literallayout> 410 </literallayout>
411 For Fedora and RedHat use: 411 For Fedora and RedHat use:
412 <literallayout class='monospaced'> 412 <literallayout class='monospaced'>
413 $ sudo service httpd restart 413 $ sudo service httpd restart
414 </literallayout> 414 </literallayout>
415 </para></listitem> 415 </para></listitem>
416 <listitem><para> 416 <listitem><para>
417 Install the build runner service. 417 Install the build runner service.
418 This service needs to be running in order to dispatch 418 This service needs to be running in order to dispatch
419 builds. 419 builds.
420 Use this command: 420 Use this command:
421 <literallayout class='monospaced'> 421 <literallayout class='monospaced'>
422 /var/www/toaster/poky/bitbake/lib/toaster/manage.py runbuilds 422 /var/www/toaster/poky/bitbake/lib/toaster/manage.py runbuilds
423 </literallayout> 423 </literallayout>
424 Here is an example: 424 Here is an example:
425 <literallayout class='monospaced'> 425 <literallayout class='monospaced'>
426 #!/bin/sh 426 #!/bin/sh
427 # toaster run builds dispatcher 427 # toaster run builds dispatcher
428 cd /var/www/toaster/ 428 cd /var/www/toaster/
429 source ./venv/bin/activate 429 source ./venv/bin/activate
430 ./bitbake/lib/toaster/manage.py runbuilds 430 ./bitbake/lib/toaster/manage.py runbuilds
431 </literallayout> 431 </literallayout>
432 </para></listitem> 432 </para></listitem>
433 </orderedlist> 433 </orderedlist>
434 You can now open up a browser and start using Toaster. 434 You can now open up a browser and start using Toaster.
435 </para> 435 </para>
436 </section> 436 </section>
437 </section> 437 </section>
438 438
439 <section id='using-the-toaster-web-interface'> 439 <section id='using-the-toaster-web-interface'>
440 <title>Using the Toaster Web Interface</title> 440 <title>Using the Toaster Web Interface</title>
441 441
442 <para> 442 <para>
443 The Toaster web interface allows you to do the following: 443 The Toaster web interface allows you to do the following:
444 <itemizedlist> 444 <itemizedlist>
445 <listitem><para> 445 <listitem><para>
446 Browse published layers in the 446 Browse published layers in the
447 <ulink url='http://layers.openembedded.org'>OpenEmbedded Metadata Index</ulink> 447 <ulink url='http://layers.openembedded.org'>OpenEmbedded Metadata Index</ulink>
448 that are available for your selected version of the build 448 that are available for your selected version of the build
449 system. 449 system.
450 </para></listitem> 450 </para></listitem>
451 <listitem><para> 451 <listitem><para>
452 Import your own layers for building. 452 Import your own layers for building.
453 </para></listitem> 453 </para></listitem>
454 <listitem><para> 454 <listitem><para>
455 Add and remove layers from your configuration. 455 Add and remove layers from your configuration.
456 </para></listitem> 456 </para></listitem>
457 <listitem><para> 457 <listitem><para>
458 Set configuration variables. 458 Set configuration variables.
459 </para></listitem> 459 </para></listitem>
460 <listitem><para> 460 <listitem><para>
461 Select a target or multiple targets to build. 461 Select a target or multiple targets to build.
462 </para></listitem> 462 </para></listitem>
463 <listitem><para> 463 <listitem><para>
464 Start your builds. 464 Start your builds.
465 </para></listitem> 465 </para></listitem>
466 <listitem><para> 466 <listitem><para>
467 See what was built (recipes and packages) and what 467 See what was built (recipes and packages) and what
468 packages were installed into your final image. 468 packages were installed into your final image.
469 </para></listitem> 469 </para></listitem>
470 <listitem><para> 470 <listitem><para>
471 Browse the directory structure of your image. 471 Browse the directory structure of your image.
472 </para></listitem> 472 </para></listitem>
473 <listitem><para> 473 <listitem><para>
474 See the value of all variables in your build configuration, 474 See the value of all variables in your build configuration,
475 and which files set each value. 475 and which files set each value.
476 </para></listitem> 476 </para></listitem>
477 <listitem><para> 477 <listitem><para>
478 Examine error, warning and trace messages to aid in 478 Examine error, warning and trace messages to aid in
479 debugging. 479 debugging.
480 </para></listitem> 480 </para></listitem>
481 <listitem><para> 481 <listitem><para>
482 See information about the BitBake tasks executed and 482 See information about the BitBake tasks executed and
483 reused during your build, including those that used 483 reused during your build, including those that used
484 shared state. 484 shared state.
485 </para></listitem> 485 </para></listitem>
486 <listitem><para> 486 <listitem><para>
487 See dependency relationships between recipes, packages 487 See dependency relationships between recipes, packages
488 and tasks. 488 and tasks.
489 </para></listitem> 489 </para></listitem>
490 <listitem><para> 490 <listitem><para>
491 See performance information such as build time, task time, 491 See performance information such as build time, task time,
492 CPU usage, and disk I/O. 492 CPU usage, and disk I/O.
493 </para></listitem> 493 </para></listitem>
494 </itemizedlist> 494 </itemizedlist>
495 </para> 495 </para>
496 496
497 <section id='web-interface-videos'> 497 <section id='web-interface-videos'>
498 <title>Toaster Web Interface Videos</title> 498 <title>Toaster Web Interface Videos</title>
499 499
500 <para> 500 <para>
501 Following are several videos that show how to use the Toaster GUI: 501 Following are several videos that show how to use the Toaster GUI:
502 <itemizedlist> 502 <itemizedlist>
503 <listitem><para><emphasis>Build Configuration:</emphasis> 503 <listitem><para><emphasis>Build Configuration:</emphasis>
504 This 504 This
505 <ulink url='https://www.youtube.com/watch?v=qYgDZ8YzV6w'>video</ulink> 505 <ulink url='https://www.youtube.com/watch?v=qYgDZ8YzV6w'>video</ulink>
506 overviews and demonstrates build configuration for Toaster. 506 overviews and demonstrates build configuration for Toaster.
507 </para></listitem> 507 </para></listitem>
508 <listitem><para><emphasis>Build Custom Layers:</emphasis> 508 <listitem><para><emphasis>Build Custom Layers:</emphasis>
509 This 509 This
510 <ulink url='https://www.youtube.com/watch?v=QJzaE_XjX5c'>video</ulink> 510 <ulink url='https://www.youtube.com/watch?v=QJzaE_XjX5c'>video</ulink>
511 shows you how to build custom layers that are used with 511 shows you how to build custom layers that are used with
512 Toaster. 512 Toaster.
513 </para></listitem> 513 </para></listitem>
514 <listitem><para><emphasis>Toaster Homepage and Table Controls:</emphasis> 514 <listitem><para><emphasis>Toaster Homepage and Table Controls:</emphasis>
515 This 515 This
516 <ulink url='https://www.youtube.com/watch?v=QEARDnrR1Xw'>video</ulink> 516 <ulink url='https://www.youtube.com/watch?v=QEARDnrR1Xw'>video</ulink>
517 goes over the Toaster entry page, and provides 517 goes over the Toaster entry page, and provides
518 an overview of the data manipulation capabilities of 518 an overview of the data manipulation capabilities of
519 Toaster, which include search, sorting and filtering by 519 Toaster, which include search, sorting and filtering by
520 different criteria. 520 different criteria.
521 </para></listitem> 521 </para></listitem>
522 <listitem><para><emphasis>Build Dashboard:</emphasis> 522 <listitem><para><emphasis>Build Dashboard:</emphasis>
523 This 523 This
524 <ulink url='https://www.youtube.com/watch?v=KKqHYcnp2gE'>video</ulink> 524 <ulink url='https://www.youtube.com/watch?v=KKqHYcnp2gE'>video</ulink>
525 shows you the build dashboard, a page providing an 525 shows you the build dashboard, a page providing an
526 overview of the information available for a selected build. 526 overview of the information available for a selected build.
527 </para></listitem> 527 </para></listitem>
528 <listitem><para><emphasis>Image Information:</emphasis> 528 <listitem><para><emphasis>Image Information:</emphasis>
529 This 529 This
530 <ulink url='https://www.youtube.com/watch?v=XqYGFsmA0Rw'>video</ulink> 530 <ulink url='https://www.youtube.com/watch?v=XqYGFsmA0Rw'>video</ulink>
531 walks through the information Toaster provides 531 walks through the information Toaster provides
532 about images: packages installed and root file system. 532 about images: packages installed and root file system.
533 </para></listitem> 533 </para></listitem>
534 <listitem><para><emphasis>Configuration:</emphasis> 534 <listitem><para><emphasis>Configuration:</emphasis>
535 This 535 This
536 <ulink url='https://www.youtube.com/watch?v=UW-j-T2TzIg'>video</ulink> 536 <ulink url='https://www.youtube.com/watch?v=UW-j-T2TzIg'>video</ulink>
537 provides Toaster build configuration information. 537 provides Toaster build configuration information.
538 </para></listitem> 538 </para></listitem>
539 <listitem><para><emphasis>Tasks:</emphasis> 539 <listitem><para><emphasis>Tasks:</emphasis>
540 This 540 This
541 <ulink url='https://www.youtube.com/watch?v=D4-9vGSxQtw'>video</ulink> 541 <ulink url='https://www.youtube.com/watch?v=D4-9vGSxQtw'>video</ulink>
542 shows the information Toaster provides about the 542 shows the information Toaster provides about the
543 tasks run by the build system. 543 tasks run by the build system.
544 </para></listitem> 544 </para></listitem>
545 <listitem><para><emphasis>Recipes and Packages Built:</emphasis> 545 <listitem><para><emphasis>Recipes and Packages Built:</emphasis>
546 This 546 This
547 <ulink url='https://www.youtube.com/watch?v=x-6dx4huNnw'>video</ulink> 547 <ulink url='https://www.youtube.com/watch?v=x-6dx4huNnw'>video</ulink>
548 shows the information Toaster provides about recipes 548 shows the information Toaster provides about recipes
549 and packages built. 549 and packages built.
550 </para></listitem> 550 </para></listitem>
551 <listitem><para><emphasis>Performance Data:</emphasis> 551 <listitem><para><emphasis>Performance Data:</emphasis>
552 This 552 This
553 <ulink url='https://www.youtube.com/watch?v=qWGMrJoqusQ'>video</ulink> 553 <ulink url='https://www.youtube.com/watch?v=qWGMrJoqusQ'>video</ulink>
554 shows the build performance data provided by 554 shows the build performance data provided by
555 Toaster. 555 Toaster.
556 </para></listitem> 556 </para></listitem>
557 </itemizedlist> 557 </itemizedlist>
558 </para> 558 </para>
559 </section> 559 </section>
560 560
561 <section id='toaster-web-interface-preferred-version'> 561 <section id='a-note-on-the-local-yocto-project-release'>
562 <title>Building a Specific Recipe Given Multiple Versions</title> 562 <title>A Note on the Local Yocto Project Release</title>
563
564 <para>
565 This note only applies if you have set up Toaster
566 for local development, as explained in
567 <link linkend='starting-toaster-for-local-development'>
568 section 3.1.</link>
569 </para>
570 <para>
571 When you create a project in Toaster, you will be asked to
572 provide a name and to select a Yocto Project release. One
573 of the release options you will find is called
574 <emphasis>Local Yocto Project</emphasis>.
575 <imagedata fileref="figures/new-project.png" align="center" width="9in" />
576 </para>
577
578 <para>
579 When you select the <emphasis>Local Yocto Project</emphasis>
580 release, Toaster will run your builds using the local Yocto
581 Project clone you have in your computer: the same clone
582 you are using to run Toaster. Unless you manually update
583 this clone, your builds will always use the same Git revision.
584 </para>
585
586 <para>
587 If you select any of the other release options, Toaster
588 will fetch the tip of your selected release from the upstream
589 <ulink url='https://git.yoctoproject.org'>Yocto Project
590 repository</ulink> every time you run a build. This effectively
591 means that if your selected release is updated upstream, the
592 Git revision you are using for your builds will change.
593 If you are doing development locally, you might not want this
594 to happen. In that case, the <emphasis>Local Yocto Project</emphasis>
595 release might be the right choice.
596 </para>
597
598 <para>
599 However, the <emphasis>Local Yocto Project</emphasis> release
600 will not provide you with any compatible layers, other than the
601 three core layers that come with the Yocto Project:
602 <itemizedlist>
603 <listitem><para>
604 <ulink url='http://layers.openembedded.org/layerindex/branch/master/layer/openembedded-core/'>openembedded-core</ulink>
605 </para></listitem>
606 <listitem><para>
607 <ulink url='http://layers.openembedded.org/layerindex/branch/master/layer/meta-poky/'>meta-poky</ulink>
608 </para></listitem>
609 <listitem><para>
610 <ulink url='http://layers.openembedded.org/layerindex/branch/master/layer/meta-yocto-bsp/'>meta-yocto-bsp</ulink>
611 </para></listitem>
612 </itemizedlist>
613 <imagedata fileref="figures/compatible-layers.png" align="center" width="9in" />
614 </para>
615
616 <para>
617 If you want to build any other layers, you will need to
618 manually import them into your Toaster project, using the
619 <emphasis>Import layer</emphasis> page.
620 <imagedata fileref="figures/import-layer.png" align="center" width="9in" />
621 </para>
622
623 </section>
624
625 <section id='toaster-web-interface-preferred-version'>
626 <title>Building a Specific Recipe Given Multiple Versions</title>
563 627
564 <para> 628 <para>
565 Occasionally, a layer might provide more than one version of 629 Occasionally, a layer might provide more than one version of