summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-07-25 10:51:33 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-13 13:18:42 +0100
commitfd381a206763bfac46dffc049f529492a8abe9d5 (patch)
tree00db32cdd85ca5b51c2d03d40e213c8a30a76e7b /documentation
parenteccd32136447890c2acd240c112675e8733aa0ac (diff)
downloadpoky-fd381a206763bfac46dffc049f529492a8abe9d5.tar.gz
ref-manual: Added a section reference to external toolchain question.
(From yocto-docs rev: 6b125e0e0f09e817422f899923d51ee73923b15b) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/faq.xml142
1 files changed, 73 insertions, 69 deletions
diff --git a/documentation/ref-manual/faq.xml b/documentation/ref-manual/faq.xml
index f96b64c1a5..688fef8503 100644
--- a/documentation/ref-manual/faq.xml
+++ b/documentation/ref-manual/faq.xml
@@ -134,10 +134,10 @@
134 </question> 134 </question>
135 <answer> 135 <answer>
136 <para> 136 <para>
137 Because you can use the same set of recipes to create output of 137 Because you can use the same set of recipes to create output of
138 various formats, the output of an OpenEmbedded build depends on 138 various formats, the output of an OpenEmbedded build depends on
139 how you start it. 139 how you start it.
140 Usually, the output is a flashable image ready for the target 140 Usually, the output is a flashable image ready for the target
141 device. 141 device.
142 </para> 142 </para>
143 </answer> 143 </answer>
@@ -168,12 +168,12 @@
168 </question> 168 </question>
169 <answer> 169 <answer>
170 <para> 170 <para>
171 The OpenEmbedded build system can build packages in various 171 The OpenEmbedded build system can build packages in various
172 formats such as IPK for OPKG, Debian package 172 formats such as IPK for OPKG, Debian package
173 (<filename>.deb</filename>), or RPM. 173 (<filename>.deb</filename>), or RPM.
174 You can then upgrade the packages using the package tools on 174 You can then upgrade the packages using the package tools on
175 the device, much like on a desktop distribution such as 175 the device, much like on a desktop distribution such as
176 Ubuntu or Fedora. 176 Ubuntu or Fedora.
177 However, package management on the target is entirely optional. 177 However, package management on the target is entirely optional.
178 </para> 178 </para>
179 </answer> 179 </answer>
@@ -249,7 +249,7 @@
249 249
250 <note> 250 <note>
251 <para>For information on distributions that the Yocto Project 251 <para>For information on distributions that the Yocto Project
252 uses during validation, see the 252 uses during validation, see the
253 <ulink url='&YOCTO_WIKI_URL;/wiki/Distribution_Support'>Distribution Support</ulink> 253 <ulink url='&YOCTO_WIKI_URL;/wiki/Distribution_Support'>Distribution Support</ulink>
254 Wiki page.</para> 254 Wiki page.</para>
255 <para>For notes about using the Yocto Project on a RHEL 4-based 255 <para>For notes about using the Yocto Project on a RHEL 4-based
@@ -297,8 +297,8 @@
297 </filename> = "0" in the <filename>.bb</filename> file but make sure the package is 297 </filename> = "0" in the <filename>.bb</filename> file but make sure the package is
298 manually marked as 298 manually marked as
299 machine-specific for the case that needs it. 299 machine-specific for the case that needs it.
300 The code that handles 300 The code that handles
301 <filename>SRC_URI_OVERRIDES_PACKAGE_ARCH</filename> is in 301 <filename>SRC_URI_OVERRIDES_PACKAGE_ARCH</filename> is in
302 the <filename>meta/classes/base.bbclass</filename> file. 302 the <filename>meta/classes/base.bbclass</filename> file.
303 </para> 303 </para>
304 </answer> 304 </answer>
@@ -320,8 +320,8 @@
320 http_proxy = http://proxy.yoyodyne.com:18023/ 320 http_proxy = http://proxy.yoyodyne.com:18023/
321 ftp_proxy = http://proxy.yoyodyne.com:18023/ 321 ftp_proxy = http://proxy.yoyodyne.com:18023/
322 </literallayout> 322 </literallayout>
323 The Yocto Project also includes a 323 The Yocto Project also includes a
324 <filename>site.conf.sample</filename> file that shows how to 324 <filename>site.conf.sample</filename> file that shows how to
325 configure CVS and Git proxy servers if needed. 325 configure CVS and Git proxy servers if needed.
326 </para> 326 </para>
327 </answer> 327 </answer>
@@ -352,19 +352,19 @@
352 </question> 352 </question>
353 <answer> 353 <answer>
354 <para> 354 <para>
355 If the same build is failing in totally different and random 355 If the same build is failing in totally different and random
356 ways, the most likely explanation is: 356 ways, the most likely explanation is:
357 <itemizedlist> 357 <itemizedlist>
358 <listitem><para>The hardware you are running the build on 358 <listitem><para>The hardware you are running the build on
359 has some problem.</para></listitem> 359 has some problem.</para></listitem>
360 <listitem><para>You are running the build under 360 <listitem><para>You are running the build under
361 virtualization, in which case the virtualization 361 virtualization, in which case the virtualization
362 probably has bugs.</para></listitem> 362 probably has bugs.</para></listitem>
363 </itemizedlist> 363 </itemizedlist>
364 The OpenEmbedded build system processes a massive amount of 364 The OpenEmbedded build system processes a massive amount of
365 data that causes lots of network, disk and CPU activity and 365 data that causes lots of network, disk and CPU activity and
366 is sensitive to even single-bit failures in any of these areas. 366 is sensitive to even single-bit failures in any of these areas.
367 True random failures have always been traced back to hardware 367 True random failures have always been traced back to hardware
368 or virtualization issues. 368 or virtualization issues.
369 </para> 369 </para>
370 </answer> 370 </answer>
@@ -378,18 +378,18 @@
378 </question> 378 </question>
379 <answer> 379 <answer>
380 <para> 380 <para>
381 This is a difficult question and you need to consult your lawyer 381 This is a difficult question and you need to consult your lawyer
382 for the answer for your specific case. 382 for the answer for your specific case.
383 It is worth bearing in mind that for GPL compliance, there needs 383 It is worth bearing in mind that for GPL compliance, there needs
384 to be enough information shipped to allow someone else to 384 to be enough information shipped to allow someone else to
385 rebuild and produce the same end result you are shipping. 385 rebuild and produce the same end result you are shipping.
386 This means sharing the source code, any patches applied to it, 386 This means sharing the source code, any patches applied to it,
387 and also any configuration information about how that package 387 and also any configuration information about how that package
388 was configured and built. 388 was configured and built.
389 </para> 389 </para>
390 390
391 <para> 391 <para>
392 You can find more information on licensing in the 392 You can find more information on licensing in the
393 "<ulink url='&YOCTO_DOCS_DEV_URL;#licensing'>Licensing</ulink>" 393 "<ulink url='&YOCTO_DOCS_DEV_URL;#licensing'>Licensing</ulink>"
394 and "<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle'>Maintaining Open Source License Compliance During Your Product's Lifecycle</ulink>" 394 and "<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle'>Maintaining Open Source License Compliance During Your Product's Lifecycle</ulink>"
395 sections, both of which are in the Yocto Project Development 395 sections, both of which are in the Yocto Project Development
@@ -410,7 +410,7 @@
410 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>" 410 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>"
411 section in the Yocto Project Board Support Packages (BSP) 411 section in the Yocto Project Board Support Packages (BSP)
412 Developer's Guide. 412 Developer's Guide.
413 Set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to 413 Set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to
414 one as follows: 414 one as follows:
415 <literallayout class='monospaced'> 415 <literallayout class='monospaced'>
416 HAVE_TOUCHSCREEN=1 416 HAVE_TOUCHSCREEN=1
@@ -433,7 +433,7 @@
433 file. 433 file.
434 See the "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>" 434 See the "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>"
435 section in the Yocto Project Board Support Packages (BSP) 435 section in the Yocto Project Board Support Packages (BSP)
436 Developer's Guide for information on creating these types of 436 Developer's Guide for information on creating these types of
437 miscellaneous recipe files. 437 miscellaneous recipe files.
438 </para> 438 </para>
439 <para> 439 <para>
@@ -454,32 +454,32 @@
454 </question> 454 </question>
455 <answer> 455 <answer>
456 <para> 456 <para>
457 By default, the OpenEmbedded build system creates images 457 By default, the OpenEmbedded build system creates images
458 that are 1.3 times the size of the populated root filesystem. 458 that are 1.3 times the size of the populated root filesystem.
459 To affect the image size, you need to set various 459 To affect the image size, you need to set various
460 configurations: 460 configurations:
461 <itemizedlist> 461 <itemizedlist>
462 <listitem><para><emphasis>Image Size:</emphasis> 462 <listitem><para><emphasis>Image Size:</emphasis>
463 The OpenEmbedded build system uses the 463 The OpenEmbedded build system uses the
464 <link linkend='var-IMAGE_ROOTFS_SIZE'><filename>IMAGE_ROOTFS_SIZE</filename></link> 464 <link linkend='var-IMAGE_ROOTFS_SIZE'><filename>IMAGE_ROOTFS_SIZE</filename></link>
465 variable to define the size of the image in Kbytes. 465 variable to define the size of the image in Kbytes.
466 The build system determines the size by taking into 466 The build system determines the size by taking into
467 account the initial root filesystem size before any 467 account the initial root filesystem size before any
468 modifications such as requested size for the image and 468 modifications such as requested size for the image and
469 any requested additional free disk space to be 469 any requested additional free disk space to be
470 added to the image.</para></listitem> 470 added to the image.</para></listitem>
471 <listitem><para><emphasis>Overhead:</emphasis> 471 <listitem><para><emphasis>Overhead:</emphasis>
472 Use the 472 Use the
473 <link linkend='var-IMAGE_OVERHEAD_FACTOR'><filename>IMAGE_OVERHEAD_FACTOR</filename></link> 473 <link linkend='var-IMAGE_OVERHEAD_FACTOR'><filename>IMAGE_OVERHEAD_FACTOR</filename></link>
474 variable to define the multiplier that the build system 474 variable to define the multiplier that the build system
475 applies to the initial image size, which is 1.3 by 475 applies to the initial image size, which is 1.3 by
476 default.</para></listitem> 476 default.</para></listitem>
477 <listitem><para><emphasis>Additional Free Space:</emphasis> 477 <listitem><para><emphasis>Additional Free Space:</emphasis>
478 Use the 478 Use the
479 <link linkend='var-IMAGE_ROOTFS_EXTRA_SPACE'><filename>IMAGE_ROOTFS_EXTRA_SPACE</filename></link> 479 <link linkend='var-IMAGE_ROOTFS_EXTRA_SPACE'><filename>IMAGE_ROOTFS_EXTRA_SPACE</filename></link>
480 variable to add additional free space to the image. 480 variable to add additional free space to the image.
481 The build system adds this space to the image after 481 The build system adds this space to the image after
482 it determines its 482 it determines its
483 <filename>IMAGE_ROOTFS_SIZE</filename>. 483 <filename>IMAGE_ROOTFS_SIZE</filename>.
484 </para></listitem> 484 </para></listitem>
485 </itemizedlist> 485 </itemizedlist>
@@ -495,11 +495,11 @@
495 </question> 495 </question>
496 <answer> 496 <answer>
497 <para> 497 <para>
498 The Yocto Project team has tried to do this before but too 498 The Yocto Project team has tried to do this before but too
499 many of the tools the OpenEmbedded build system depends on, 499 many of the tools the OpenEmbedded build system depends on,
500 such as <filename>autoconf</filename>, break when they find 500 such as <filename>autoconf</filename>, break when they find
501 spaces in pathnames. 501 spaces in pathnames.
502 Until that situation changes, the team will not support spaces 502 Until that situation changes, the team will not support spaces
503 in pathnames. 503 in pathnames.
504 </para> 504 </para>
505 </answer> 505 </answer>
@@ -515,11 +515,11 @@
515 <para> 515 <para>
516 The toolchain configuration is very flexible and customizable. 516 The toolchain configuration is very flexible and customizable.
517 It is primarily controlled with the 517 It is primarily controlled with the
518 <filename><link linkend='var-TCMODE'>TCMODE</link></filename> 518 <filename><link linkend='var-TCMODE'>TCMODE</link></filename>
519 variable. 519 variable.
520 This variable controls which <filename>tcmode-*.inc</filename> 520 This variable controls which <filename>tcmode-*.inc</filename>
521 file to include from the 521 file to include from the
522 <filename>meta/conf/distro/include</filename> directory within 522 <filename>meta/conf/distro/include</filename> directory within
523 the 523 the
524 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. 524 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
525 </para> 525 </para>
@@ -528,33 +528,37 @@
528 The default value of <filename>TCMODE</filename> is "default" 528 The default value of <filename>TCMODE</filename> is "default"
529 (i.e. <filename>tcmode-default.inc</filename>). 529 (i.e. <filename>tcmode-default.inc</filename>).
530 However, other patterns are accepted. 530 However, other patterns are accepted.
531 In particular, "external-*" refers to external toolchains of 531 In particular, "external-*" refers to external toolchains of
532 which there are some basic examples included in the 532 which there are some basic examples included in the
533 OpenEmbedded Core (<filename>meta</filename>). 533 OpenEmbedded Core (<filename>meta</filename>).
534 You can use your own custom toolchain definition in your own 534 You can use your own custom toolchain definition in your own
535 layer (or as defined in the <filename>local.conf</filename> 535 layer (or as defined in the <filename>local.conf</filename>
536 file) at the location 536 file) at the location
537 <filename>conf/distro/include/tcmode-*.inc</filename>. 537 <filename>conf/distro/include/tcmode-*.inc</filename>.
538 </para> 538 </para>
539 539
540 <para> 540 <para>
541 In addition to the toolchain configuration, you also need a 541 In addition to the toolchain configuration, you also need a
542 corresponding toolchain recipe file. 542 corresponding toolchain recipe file.
543 This recipe file needs to package up any pre-built objects in 543 This recipe file needs to package up any pre-built objects in
544 the toolchain such as <filename>libgcc</filename>, 544 the toolchain such as <filename>libgcc</filename>,
545 <filename>libstdcc++</filename>, any locales, and 545 <filename>libstdcc++</filename>, any locales, and
546 <filename>libc</filename>. 546 <filename>libc</filename>.
547 An example is the 547 An example is the
548 <filename>external-sourcery-toolchain.bb</filename>, which is 548 <filename>external-sourcery-toolchain.bb</filename>, which is
549 located in <filename>meta/recipes-core/meta/</filename> within 549 located in <filename>meta/recipes-core/meta/</filename> within
550 the Source Directory. 550 the Source Directory.
551 </para> 551 </para>
552 552
553 <para> 553 <para>
554 For information on installing and using cross-development 554 For information on installing and using cross-development
555 toolchains, see the 555 toolchains, see the
556 "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" 556 "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>"
557 section in the Yocto Project Application Developer's Guide. 557 section in the Yocto Project Application Developer's Guide.
558 For general information on cross-development toolchains, see
559 the
560 "<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>"
561 section.
558 </para> 562 </para>
559 </answer> 563 </answer>
560 </qandaentry> 564 </qandaentry>
@@ -625,7 +629,7 @@
625 <literallayout class='monospaced'> 629 <literallayout class='monospaced'>
626 BB_FETCH_PREMIRRORONLY = "1" 630 BB_FETCH_PREMIRRORONLY = "1"
627 </literallayout> 631 </literallayout>
628 This statement limits the build system to pulling source 632 This statement limits the build system to pulling source
629 from the <filename>PREMIRRORS</filename> only. 633 from the <filename>PREMIRRORS</filename> only.
630 Again, this technique is useful for reproducing builds. 634 Again, this technique is useful for reproducing builds.
631 </para> 635 </para>
@@ -634,7 +638,7 @@
634 <literallayout class='monospaced'> 638 <literallayout class='monospaced'>
635 BB_GENERATE_MIRROR_TARBALLS = "1" 639 BB_GENERATE_MIRROR_TARBALLS = "1"
636 </literallayout> 640 </literallayout>
637 This statement tells the build system to generate mirror 641 This statement tells the build system to generate mirror
638 tarballs. 642 tarballs.
639 This technique is useful if you want to create a mirror server. 643 This technique is useful if you want to create a mirror server.
640 If not, however, the technique can simply waste time during 644 If not, however, the technique can simply waste time during
@@ -677,8 +681,8 @@
677 <answer> 681 <answer>
678 <para> 682 <para>
679 Yes - you can easily do this. 683 Yes - you can easily do this.
680 When you use BitBake to build an image, all the build output 684 When you use BitBake to build an image, all the build output
681 goes into the directory created when you source the 685 goes into the directory created when you source the
682 <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> 686 <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
683 setup script. 687 setup script.
684 By default, this <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> 688 By default, this <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
@@ -687,10 +691,10 @@
687 </para> 691 </para>
688 692
689 <para> 693 <para>
690 Within the Build Directory, is the <filename>tmp</filename> 694 Within the Build Directory, is the <filename>tmp</filename>
691 directory. 695 directory.
692 To remove all the build output yet preserve any source code or 696 To remove all the build output yet preserve any source code or
693 downloaded files from previous builds, simply remove the 697 downloaded files from previous builds, simply remove the
694 <filename>tmp</filename> directory. 698 <filename>tmp</filename> directory.
695 </para> 699 </para>
696 </answer> 700 </answer>