diff options
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/bsp-guide/bsp.xml | 2 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 71 | ||||
-rw-r--r-- | documentation/kernel-dev/kernel-dev-faq.xml | 2 | ||||
-rw-r--r-- | documentation/ref-manual/introduction.xml | 407 |
4 files changed, 445 insertions, 37 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index cb9940c77a..a92e6115b1 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
@@ -936,7 +936,7 @@ | |||
936 | <listitem><para>Create a <filename>.bbappend</filename> | 936 | <listitem><para>Create a <filename>.bbappend</filename> |
937 | file for the modified recipe. | 937 | file for the modified recipe. |
938 | For information on using append files, see the | 938 | For information on using append files, see the |
939 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>" | 939 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>" |
940 | section in the Yocto Project Development Manual. | 940 | section in the Yocto Project Development Manual. |
941 | </para></listitem> | 941 | </para></listitem> |
942 | <listitem><para> | 942 | <listitem><para> |
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 76a2c654dd..6e6577220d 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
@@ -685,37 +685,46 @@ | |||
685 | </section> | 685 | </section> |
686 | 686 | ||
687 | <section id='using-bbappend-files'> | 687 | <section id='using-bbappend-files'> |
688 | <title>Using .bbappend Files</title> | 688 | <title>Using .bbappend Files in Your Layer</title> |
689 | 689 | ||
690 | <para> | 690 | <para> |
691 | Recipes used to append Metadata to other recipes are called | 691 | A recipe that appends Metadata to another recipe is called a |
692 | BitBake append files. | 692 | BitBake append file. |
693 | BitBake append files use the <filename>.bbappend</filename> file | 693 | A BitBake append file uses the <filename>.bbappend</filename> |
694 | type suffix, while the corresponding recipes to which Metadata | 694 | file type suffix, while the corresponding recipe to which |
695 | is being appended use the <filename>.bb</filename> file type | 695 | Metadata is being appended uses the <filename>.bb</filename> |
696 | suffix. | 696 | file type suffix. |
697 | </para> | 697 | </para> |
698 | 698 | ||
699 | <para> | 699 | <para> |
700 | A <filename>.bbappend</filename> file allows your layer to make | 700 | You can use a <filename>.bbappend</filename> file in your |
701 | additions or changes to the content of another layer's recipe | 701 | layer to make additions or changes to the content of another |
702 | without having to copy the other recipe into your layer. | 702 | layer's recipe without having to copy the other layer's |
703 | recipe into your layer. | ||
703 | Your <filename>.bbappend</filename> file resides in your layer, | 704 | Your <filename>.bbappend</filename> file resides in your layer, |
704 | while the main <filename>.bb</filename> recipe file to | 705 | while the main <filename>.bb</filename> recipe file to |
705 | which you are appending Metadata resides in a different layer. | 706 | which you are appending Metadata resides in a different layer. |
706 | </para> | 707 | </para> |
707 | 708 | ||
708 | <para> | 709 | <para> |
709 | Append files must have the same root names as their corresponding | 710 | Being able to append information to an existing recipe not only |
710 | recipes. | 711 | avoids duplication, but also automatically applies recipe |
712 | changes from a different layer into your layer. | ||
713 | If you were copying recipes, you would have to manually merge | ||
714 | changes as they occur. | ||
715 | </para> | ||
716 | |||
717 | <para> | ||
718 | When you create an append file, you must use the same root | ||
719 | name as the corresponding recipe file. | ||
711 | For example, the append file | 720 | For example, the append file |
712 | <filename>someapp_&DISTRO;.bbappend</filename> must apply to | 721 | <filename>someapp_&DISTRO;.bbappend</filename> must apply to |
713 | <filename>someapp_&DISTRO;.bb</filename>. | 722 | <filename>someapp_&DISTRO;.bb</filename>. |
714 | This means the original recipe and append file names are version | 723 | This means the original recipe and append file names are |
715 | number-specific. | 724 | version number-specific. |
716 | If the corresponding recipe is renamed to update to a newer | 725 | If the corresponding recipe is renamed to update to a newer |
717 | version, the corresponding <filename>.bbappend</filename> file must | 726 | version, you must also rename and possibly update |
718 | be renamed (and possibly updated) as well. | 727 | the corresponding <filename>.bbappend</filename> as well. |
719 | During the build process, BitBake displays an error on starting | 728 | During the build process, BitBake displays an error on starting |
720 | if it detects a <filename>.bbappend</filename> file that does | 729 | if it detects a <filename>.bbappend</filename> file that does |
721 | not have a corresponding recipe with a matching name. | 730 | not have a corresponding recipe with a matching name. |
@@ -725,14 +734,6 @@ | |||
725 | </para> | 734 | </para> |
726 | 735 | ||
727 | <para> | 736 | <para> |
728 | Being able to append information to an existing recipe not only | ||
729 | avoids duplication, but also automatically applies recipe | ||
730 | changes in a different layer to your layer. | ||
731 | If you were copying recipes, you would have to manually merge | ||
732 | changes as they occur. | ||
733 | </para> | ||
734 | |||
735 | <para> | ||
736 | As an example, consider the main formfactor recipe and a | 737 | As an example, consider the main formfactor recipe and a |
737 | corresponding formfactor append file both from the | 738 | corresponding formfactor append file both from the |
738 | <link linkend='source-directory'>Source Directory</link>. | 739 | <link linkend='source-directory'>Source Directory</link>. |
@@ -744,8 +745,7 @@ | |||
744 | SUMMARY = "Device formfactor information" | 745 | SUMMARY = "Device formfactor information" |
745 | SECTION = "base" | 746 | SECTION = "base" |
746 | LICENSE = "MIT" | 747 | LICENSE = "MIT" |
747 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | 748 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
748 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
749 | PR = "r45" | 749 | PR = "r45" |
750 | 750 | ||
751 | SRC_URI = "file://config file://machconfig" | 751 | SRC_URI = "file://config file://machconfig" |
@@ -761,8 +761,7 @@ | |||
761 | if [ -s "${S}/machconfig" ]; then | 761 | if [ -s "${S}/machconfig" ]; then |
762 | install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/ | 762 | install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/ |
763 | fi | 763 | fi |
764 | } | 764 | } </literallayout> |
765 | </literallayout> | ||
766 | In the main recipe, note the | 765 | In the main recipe, note the |
767 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> | 766 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> |
768 | variable, which tells the OpenEmbedded build system where to | 767 | variable, which tells the OpenEmbedded build system where to |
@@ -774,7 +773,8 @@ | |||
774 | <filename>formfactor_0.0.bbappend</filename> and is from the | 773 | <filename>formfactor_0.0.bbappend</filename> and is from the |
775 | Raspberry Pi BSP Layer named | 774 | Raspberry Pi BSP Layer named |
776 | <filename>meta-raspberrypi</filename>. | 775 | <filename>meta-raspberrypi</filename>. |
777 | The file is in <filename>recipes-bsp/formfactor</filename>: | 776 | The file is in the layer at |
777 | <filename>recipes-bsp/formfactor</filename>: | ||
778 | <literallayout class='monospaced'> | 778 | <literallayout class='monospaced'> |
779 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 779 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
780 | </literallayout> | 780 | </literallayout> |
@@ -794,12 +794,13 @@ | |||
794 | </para> | 794 | </para> |
795 | 795 | ||
796 | <para> | 796 | <para> |
797 | The statement in this example extends the directories to include | 797 | The statement in this example extends the directories to |
798 | include | ||
798 | <filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-THISDIR'><filename>THISDIR</filename></ulink><filename>}/${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink><filename>}</filename>, | 799 | <filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-THISDIR'><filename>THISDIR</filename></ulink><filename>}/${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink><filename>}</filename>, |
799 | which resolves to a directory named | 800 | which resolves to a directory named |
800 | <filename>formfactor</filename> in the same directory | 801 | <filename>formfactor</filename> in the same directory |
801 | in which the append file resides (i.e. | 802 | in which the append file resides (i.e. |
802 | <filename>meta-raspberrypi/recipes-bsp/formfactor/formfactor</filename>. | 803 | <filename>meta-raspberrypi/recipes-bsp/formfactor</filename>. |
803 | This implies that you must have the supporting directory | 804 | This implies that you must have the supporting directory |
804 | structure set up that will contain any files or patches you | 805 | structure set up that will contain any files or patches you |
805 | will be including from the layer. | 806 | will be including from the layer. |
@@ -807,8 +808,8 @@ | |||
807 | 808 | ||
808 | <para> | 809 | <para> |
809 | Using the immediate expansion assignment operator | 810 | Using the immediate expansion assignment operator |
810 | <filename>:=</filename> is important because of the reference to | 811 | <filename>:=</filename> is important because of the reference |
811 | <filename>THISDIR</filename>. | 812 | to <filename>THISDIR</filename>. |
812 | The trailing colon character is important as it ensures that | 813 | The trailing colon character is important as it ensures that |
813 | items in the list remain colon-separated. | 814 | items in the list remain colon-separated. |
814 | <note> | 815 | <note> |
@@ -6571,7 +6572,7 @@ | |||
6571 | and <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> | 6572 | and <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> |
6572 | statements enable the OpenEmbedded build system to find the patch file. | 6573 | statements enable the OpenEmbedded build system to find the patch file. |
6573 | For more information on using append files, see the | 6574 | For more information on using append files, see the |
6574 | "<link linkend='using-bbappend-files'>Using .bbappend Files</link>" | 6575 | "<link linkend='using-bbappend-files'>Using .bbappend Files in Your Layer</link>" |
6575 | section. | 6576 | section. |
6576 | </para></listitem> | 6577 | </para></listitem> |
6577 | <listitem><para><emphasis>Put the patch file in your layer</emphasis>: | 6578 | <listitem><para><emphasis>Put the patch file in your layer</emphasis>: |
@@ -7050,7 +7051,7 @@ | |||
7050 | <listitem><para>Add a <filename>psplash</filename> | 7051 | <listitem><para>Add a <filename>psplash</filename> |
7051 | append file for a branded splash screen. | 7052 | append file for a branded splash screen. |
7052 | For information on append files, see the | 7053 | For information on append files, see the |
7053 | "<link linkend='using-bbappend-files'>Using .bbappend Files</link>" | 7054 | "<link linkend='using-bbappend-files'>Using .bbappend Files in Your Layer</link>" |
7054 | section.</para></listitem> | 7055 | section.</para></listitem> |
7055 | <listitem><para>Add any other append files to make | 7056 | <listitem><para>Add any other append files to make |
7056 | custom changes that are specific to individual | 7057 | custom changes that are specific to individual |
diff --git a/documentation/kernel-dev/kernel-dev-faq.xml b/documentation/kernel-dev/kernel-dev-faq.xml index 2b99ad2dde..9e0517d4af 100644 --- a/documentation/kernel-dev/kernel-dev-faq.xml +++ b/documentation/kernel-dev/kernel-dev-faq.xml | |||
@@ -72,7 +72,7 @@ | |||
72 | <filename>RDEPENDS_kernel-base</filename> to include or not | 72 | <filename>RDEPENDS_kernel-base</filename> to include or not |
73 | include "kernel-image".</para> | 73 | include "kernel-image".</para> |
74 | <para>See the | 74 | <para>See the |
75 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>" | 75 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>" |
76 | section in the Yocto Project Development Manual for information on | 76 | section in the Yocto Project Development Manual for information on |
77 | how to use an append file to override metadata. | 77 | how to use an append file to override metadata. |
78 | </para> | 78 | </para> |
diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml index cec23b6039..e3b4df3a91 100644 --- a/documentation/ref-manual/introduction.xml +++ b/documentation/ref-manual/introduction.xml | |||
@@ -621,6 +621,413 @@ | |||
621 | </para> | 621 | </para> |
622 | </section> | 622 | </section> |
623 | 623 | ||
624 | <section id='yocto-project-terms'> | ||
625 | <title>Yocto Project Terms</title> | ||
626 | |||
627 | <para> | ||
628 | Following is a list of terms and definitions users new to the Yocto | ||
629 | Project development environment might find helpful. | ||
630 | While some of these terms are universal, the list includes them | ||
631 | just in case: | ||
632 | <itemizedlist> | ||
633 | <listitem><para> | ||
634 | <emphasis>Append Files:</emphasis> | ||
635 | Files that append build information to a recipe file. | ||
636 | Append files are known as BitBake append files and | ||
637 | <filename>.bbappend</filename> files. | ||
638 | The OpenEmbedded build system expects every append file to have | ||
639 | a corresponding recipe (<filename>.bb</filename>) file. | ||
640 | Furthermore, the append file and corresponding recipe file | ||
641 | must use the same root filename. | ||
642 | The filenames can differ only in the file type suffix used | ||
643 | (e.g. | ||
644 | <filename>formfactor_0.0.bb</filename> and | ||
645 | <filename>formfactor_0.0.bbappend</filename>).</para> | ||
646 | |||
647 | <para>Information in append files extends or overrides the | ||
648 | information in the similarly-named recipe file. | ||
649 | For an example of an append file in use, see the | ||
650 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>" | ||
651 | section in the Yocto Project Development Manual. | ||
652 | <note> | ||
653 | Append files can also use wildcard patterns in their | ||
654 | version numbers so they can be applied to more than one | ||
655 | version of the underlying recipe file. | ||
656 | </note> | ||
657 | </para></listitem> | ||
658 | <listitem><para id='bitbake-term'> | ||
659 | <emphasis>BitBake:</emphasis> | ||
660 | The task executor and scheduler used by the OpenEmbedded build | ||
661 | system to build images. | ||
662 | For more information on BitBake, see the | ||
663 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
664 | </para></listitem> | ||
665 | <listitem> | ||
666 | <para id='build-directory'> | ||
667 | <emphasis>Build Directory:</emphasis> | ||
668 | This term refers to the area used by the OpenEmbedded build | ||
669 | system for builds. | ||
670 | The area is created when you <filename>source</filename> the | ||
671 | setup environment script that is found in the Source Directory | ||
672 | (i.e. <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> | ||
673 | or | ||
674 | <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>). | ||
675 | The | ||
676 | <link linkend='var-TOPDIR'><filename>TOPDIR</filename></link> | ||
677 | variable points to the Build Directory.</para> | ||
678 | |||
679 | <para>You have a lot of flexibility when creating the Build | ||
680 | Directory. | ||
681 | Following are some examples that show how to create the | ||
682 | directory. | ||
683 | The examples assume your | ||
684 | <link linkend='source-directory'>Source Directory</link> is | ||
685 | named <filename>poky</filename>: | ||
686 | <itemizedlist> | ||
687 | <listitem><para>Create the Build Directory inside your | ||
688 | Source Directory and let the name of the Build | ||
689 | Directory default to <filename>build</filename>: | ||
690 | <literallayout class='monospaced'> | ||
691 | $ cd $HOME/poky | ||
692 | $ source &OE_INIT_FILE; | ||
693 | </literallayout> | ||
694 | </para></listitem> | ||
695 | <listitem><para>Create the Build Directory inside your | ||
696 | home directory and specifically name it | ||
697 | <filename>test-builds</filename>: | ||
698 | <literallayout class='monospaced'> | ||
699 | $ cd $HOME | ||
700 | $ source poky/&OE_INIT_FILE; test-builds | ||
701 | </literallayout> | ||
702 | </para></listitem> | ||
703 | <listitem><para> | ||
704 | Provide a directory path and specifically name the | ||
705 | Build Directory. | ||
706 | Any intermediate folders in the pathname must exist. | ||
707 | This next example creates a Build Directory named | ||
708 | <filename>YP-&POKYVERSION;</filename> | ||
709 | in your home directory within the existing | ||
710 | directory <filename>mybuilds</filename>: | ||
711 | <literallayout class='monospaced'> | ||
712 | $cd $HOME | ||
713 | $ source $HOME/poky/&OE_INIT_FILE; $HOME/mybuilds/YP-&POKYVERSION; | ||
714 | </literallayout> | ||
715 | </para></listitem> | ||
716 | </itemizedlist> | ||
717 | <note> | ||
718 | By default, the Build Directory contains | ||
719 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>, | ||
720 | which is a temporary directory the build system uses for | ||
721 | its work. | ||
722 | <filename>TMPDIR</filename> cannot be under NFS. | ||
723 | Thus, by default, the Build Directory cannot be under NFS. | ||
724 | However, if you need the Build Directory to be under NFS, | ||
725 | you can set this up by setting <filename>TMPDIR</filename> | ||
726 | in your <filename>local.conf</filename> file | ||
727 | to use a local drive. | ||
728 | Doing so effectively separates <filename>TMPDIR</filename> | ||
729 | from <filename>TOPDIR</filename>, which is the Build | ||
730 | Directory. | ||
731 | </note> | ||
732 | </para></listitem> | ||
733 | <listitem><para> | ||
734 | <emphasis>Classes:</emphasis> | ||
735 | Files that provide for logic encapsulation and inheritance so | ||
736 | that commonly used patterns can be defined once and then | ||
737 | easily used in multiple recipes. | ||
738 | For reference information on the Yocto Project classes, see the | ||
739 | "<link linkend='ref-classes'>Classes</link>" chapter. | ||
740 | Class files end with the <filename>.bbclass</filename> | ||
741 | filename extension. | ||
742 | </para></listitem> | ||
743 | <listitem><para> | ||
744 | <emphasis>Configuration File:</emphasis> | ||
745 | Configuration information in various <filename>.conf</filename> | ||
746 | files provides global definitions of variables. | ||
747 | The <filename>conf/local.conf</filename> configuration file in | ||
748 | the | ||
749 | <link linkend='build-directory'>Build Directory</link> | ||
750 | contains user-defined variables that affect every build. | ||
751 | The <filename>meta-poky/conf/distro/poky.conf</filename> | ||
752 | configuration file defines Yocto "distro" configuration | ||
753 | variables used only when building with this policy. | ||
754 | Machine configuration files, which | ||
755 | are located throughout the | ||
756 | <link linkend='source-directory'>Source Directory</link>, define | ||
757 | variables for specific hardware and are only used when building | ||
758 | for that target (e.g. the | ||
759 | <filename>machine/beaglebone.conf</filename> configuration | ||
760 | file defines variables for the Texas Instruments ARM Cortex-A8 | ||
761 | development board). | ||
762 | Configuration files end with a <filename>.conf</filename> | ||
763 | filename extension. | ||
764 | </para></listitem> | ||
765 | <listitem><para id='cross-development-toolchain'> | ||
766 | <emphasis>Cross-Development Toolchain:</emphasis> | ||
767 | In general, a cross-development toolchain is a collection of | ||
768 | software development tools and utilities that run on one | ||
769 | architecture and allow you to develop software for a | ||
770 | different, or targeted, architecture. | ||
771 | These toolchains contain cross-compilers, linkers, and | ||
772 | debuggers that are specific to the target architecture.</para> | ||
773 | |||
774 | <para>The Yocto Project supports two different cross-development | ||
775 | toolchains: | ||
776 | <itemizedlist> | ||
777 | <listitem><para> | ||
778 | A toolchain only used by and within | ||
779 | BitBake when building an image for a target | ||
780 | architecture. | ||
781 | </para></listitem> | ||
782 | <listitem><para>A relocatable toolchain used outside of | ||
783 | BitBake by developers when developing applications | ||
784 | that will run on a targeted device. | ||
785 | </para></listitem> | ||
786 | </itemizedlist></para> | ||
787 | |||
788 | <para>Creation of these toolchains is simple and automated. | ||
789 | For information on toolchain concepts as they apply to the | ||
790 | Yocto Project, see the | ||
791 | "<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>" | ||
792 | section. | ||
793 | You can also find more information on using the | ||
794 | relocatable toolchain in the | ||
795 | <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>. | ||
796 | </para></listitem> | ||
797 | <listitem><para> | ||
798 | <emphasis>Image:</emphasis> | ||
799 | An image is an artifact of the BitBake build process given | ||
800 | a collection of recipes and related Metadata. | ||
801 | Images are the binary output that run on specific hardware or | ||
802 | QEMU and are used for specific use-cases. | ||
803 | For a list of the supported image types that the Yocto Project | ||
804 | provides, see the | ||
805 | "<link linkend='ref-images'>Images</link>" | ||
806 | chapter. | ||
807 | </para></listitem> | ||
808 | <listitem><para> | ||
809 | <emphasis>Layer:</emphasis> | ||
810 | A collection of recipes representing the core, | ||
811 | a BSP, or an application stack. | ||
812 | For a discussion specifically on BSP Layers, see the | ||
813 | "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" | ||
814 | section in the Yocto Project Board Support Packages (BSP) | ||
815 | Developer's Guide. | ||
816 | </para></listitem> | ||
817 | <listitem><para id='metadata'> | ||
818 | <emphasis>Metadata:</emphasis> | ||
819 | The files that BitBake parses when building an image. | ||
820 | In general, Metadata includes recipes, classes, and | ||
821 | configuration files. | ||
822 | In the context of the kernel ("kernel Metadata"), | ||
823 | it refers to Metadata in the <filename>meta</filename> | ||
824 | branches of the kernel source Git repositories. | ||
825 | </para></listitem> | ||
826 | <listitem><para id='oe-core'> | ||
827 | <emphasis>OE-Core:</emphasis> | ||
828 | A core set of Metadata originating with OpenEmbedded (OE) | ||
829 | that is shared between OE and the Yocto Project. | ||
830 | This Metadata is found in the <filename>meta</filename> | ||
831 | directory of the | ||
832 | <link linkend='source-directory'>Source Directory</link>. | ||
833 | </para></listitem> | ||
834 | <listitem><para id='build-system-term'> | ||
835 | <emphasis>OpenEmbedded Build System:</emphasis> | ||
836 | The build system specific to the Yocto Project. | ||
837 | The OpenEmbedded build system is based on another project known | ||
838 | as "Poky", which uses | ||
839 | <link linkend='bitbake-term'>BitBake</link> as the task | ||
840 | executor. | ||
841 | Throughout the Yocto Project documentation set, the | ||
842 | OpenEmbedded build system is sometimes referred to simply | ||
843 | as "the build system". | ||
844 | If other build systems, such as a host or target build system | ||
845 | are referenced, the documentation clearly states the | ||
846 | difference. | ||
847 | <note> | ||
848 | For some historical information about Poky, see the | ||
849 | <link linkend='poky'>Poky</link> term. | ||
850 | </note> | ||
851 | </para></listitem> | ||
852 | <listitem><para> | ||
853 | <emphasis>Package:</emphasis> | ||
854 | In the context of the Yocto Project, this term refers to a | ||
855 | recipe's packaged output produced by BitBake (i.e. a | ||
856 | "baked recipe"). | ||
857 | A package is generally the compiled binaries produced from the | ||
858 | recipe's sources. | ||
859 | You "bake" something by running it through BitBake.</para> | ||
860 | |||
861 | <para>It is worth noting that the term "package" can, | ||
862 | in general, have subtle meanings. | ||
863 | For example, the packages referred to in the | ||
864 | "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" | ||
865 | section in the Yocto Project Quick Start are compiled binaries | ||
866 | that, when installed, add functionality to your Linux | ||
867 | distribution.</para> | ||
868 | |||
869 | <para>Another point worth noting is that historically within | ||
870 | the Yocto Project, recipes were referred to as packages - thus, | ||
871 | the existence of several BitBake variables that are seemingly | ||
872 | mis-named, | ||
873 | (e.g. <link linkend='var-PR'><filename>PR</filename></link>, | ||
874 | <link linkend='var-PV'><filename>PV</filename></link>, and | ||
875 | <link linkend='var-PE'><filename>PE</filename></link>). | ||
876 | </para></listitem> | ||
877 | <listitem><para> | ||
878 | <emphasis>Package Groups:</emphasis> | ||
879 | Arbitrary groups of software Recipes. | ||
880 | You use package groups to hold recipes that, when built, | ||
881 | usually accomplish a single task. | ||
882 | For example, a package group could contain the recipes for a | ||
883 | company’s proprietary or value-add software. | ||
884 | Or, the package group could contain the recipes that enable | ||
885 | graphics. | ||
886 | A package group is really just another recipe. | ||
887 | Because package group files are recipes, they end with the | ||
888 | <filename>.bb</filename> filename extension. | ||
889 | </para></listitem> | ||
890 | <listitem><para id='poky'> | ||
891 | <emphasis>Poky:</emphasis> | ||
892 | The term "poky", which is pronounced | ||
893 | <emphasis>Pah</emphasis>-kee, can mean several things: | ||
894 | <itemizedlist> | ||
895 | <listitem><para> | ||
896 | In its most general sense, poky is an open-source | ||
897 | project that was initially developed by OpenedHand. | ||
898 | OpenedHand developed poky off of the existing | ||
899 | OpenEmbedded build system to create a commercially | ||
900 | supportable build system for embedded Linux. | ||
901 | After Intel Corporation acquired OpenedHand, the | ||
902 | poky project became the basis for the Yocto Project's | ||
903 | build system. | ||
904 | </para></listitem> | ||
905 | <listitem><para> | ||
906 | Within the Yocto Project | ||
907 | <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>, | ||
908 | "poky" exists as a separate Git | ||
909 | repository from which you can clone to yield a local | ||
910 | Git repository that is a copy on your host system. | ||
911 | Thus, "poky" can refer to the upstream or | ||
912 | local copy of the files used for development within | ||
913 | the Yocto Project. | ||
914 | </para></listitem> | ||
915 | <listitem><para> | ||
916 | Finally, "poky" can refer to the default | ||
917 | <link linkend='var-DISTRO'><filename>DISTRO</filename></link> | ||
918 | (i.e. distribution) created when you use the Yocto | ||
919 | Project in conjunction with the | ||
920 | <filename>poky</filename> repository to build an image. | ||
921 | </para></listitem> | ||
922 | </itemizedlist> | ||
923 | </para></listitem> | ||
924 | <listitem><para> | ||
925 | <emphasis>Recipe:</emphasis> | ||
926 | A set of instructions for building packages. | ||
927 | A recipe describes where you get source code, which patches | ||
928 | to apply, how to configure the source, how to compile it and so on. | ||
929 | Recipes also describe dependencies for libraries or for other | ||
930 | recipes. | ||
931 | Recipes represent the logical unit of execution, the software | ||
932 | to build, the images to build, and use the | ||
933 | <filename>.bb</filename> file extension. | ||
934 | </para></listitem> | ||
935 | <listitem> | ||
936 | <para id='source-directory'> | ||
937 | <emphasis>Source Directory:</emphasis> | ||
938 | This term refers to the directory structure created as a result | ||
939 | of creating a local copy of the <filename>poky</filename> Git | ||
940 | repository <filename>git://git.yoctoproject.org/poky</filename> | ||
941 | or expanding a released <filename>poky</filename> tarball. | ||
942 | <note> | ||
943 | Creating a local copy of the <filename>poky</filename> | ||
944 | Git repository is the recommended method for setting up | ||
945 | your Source Directory. | ||
946 | </note> | ||
947 | Sometimes you might hear the term "poky directory" used to refer | ||
948 | to this directory structure. | ||
949 | <note> | ||
950 | The OpenEmbedded build system does not support file or | ||
951 | directory names that contain spaces. | ||
952 | Be sure that the Source Directory you use does not contain | ||
953 | these types of names. | ||
954 | </note></para> | ||
955 | |||
956 | <para>The Source Directory contains BitBake, Documentation, | ||
957 | Metadata and other files that all support the Yocto Project. | ||
958 | Consequently, you must have the Source Directory in place on | ||
959 | your development system in order to do any development using | ||
960 | the Yocto Project.</para> | ||
961 | |||
962 | <para>When you create a local copy of the Git repository, you | ||
963 | can name the repository anything you like. | ||
964 | Throughout much of the documentation, "poky" | ||
965 | is used as the name of the top-level folder of the local copy of | ||
966 | the poky Git repository. | ||
967 | So, for example, cloning the <filename>poky</filename> Git | ||
968 | repository results in a local Git repository whose top-level | ||
969 | folder is also named "poky".</para> | ||
970 | |||
971 | <para>While it is not recommended that you use tarball expansion | ||
972 | to set up the Source Directory, if you do, the top-level | ||
973 | directory name of the Source Directory is derived from the | ||
974 | Yocto Project release tarball. | ||
975 | For example, downloading and unpacking | ||
976 | <filename>&YOCTO_POKY_TARBALL;</filename> results in a | ||
977 | Source Directory whose root folder is named | ||
978 | <filename>&YOCTO_POKY;</filename>.</para> | ||
979 | |||
980 | <para>It is important to understand the differences between the | ||
981 | Source Directory created by unpacking a released tarball as | ||
982 | compared to cloning | ||
983 | <filename>git://git.yoctoproject.org/poky</filename>. | ||
984 | When you unpack a tarball, you have an exact copy of the files | ||
985 | based on the time of release - a fixed release point. | ||
986 | Any changes you make to your local files in the Source Directory | ||
987 | are on top of the release and will remain local only. | ||
988 | On the other hand, when you clone the <filename>poky</filename> | ||
989 | Git repository, you have an active development repository with | ||
990 | access to the upstream repository's branches and tags. | ||
991 | In this case, any local changes you make to the local | ||
992 | Source Directory can be later applied to active development | ||
993 | branches of the upstream <filename>poky</filename> Git | ||
994 | repository.</para> | ||
995 | |||
996 | <para>For more information on concepts related to Git | ||
997 | repositories, branches, and tags, see the | ||
998 | "<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>" | ||
999 | section. | ||
1000 | </para></listitem> | ||
1001 | <listitem><para><emphasis>Task:</emphasis> | ||
1002 | A unit of execution for BitBake (e.g. | ||
1003 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link>, | ||
1004 | <link linkend='ref-tasks-fetch'><filename>do_fetch</filename></link>, | ||
1005 | <link linkend='ref-tasks-patch'><filename>do_patch</filename></link>, | ||
1006 | and so forth). | ||
1007 | </para></listitem> | ||
1008 | <listitem><para id='toaster-term'><emphasis>Toaster:</emphasis> | ||
1009 | A web interface to the Yocto Project's | ||
1010 | <link linkend='build-system-term'>OpenEmbedded Build System</link>. | ||
1011 | The interface enables you to configure and run your builds. | ||
1012 | Information about builds is collected and stored in a database. | ||
1013 | For information on Toaster, see the | ||
1014 | <ulink url='&YOCTO_DOCS_TOAST_URL;'>Yocto Project Toaster Manual</ulink>. | ||
1015 | </para></listitem> | ||
1016 | <listitem><para> | ||
1017 | <emphasis>Upstream:</emphasis> | ||
1018 | A reference to source code or repositories | ||
1019 | that are not local to the development system but located in a | ||
1020 | master area that is controlled by the maintainer of the source | ||
1021 | code. | ||
1022 | For example, in order for a developer to work on a particular | ||
1023 | piece of code, they need to first get a copy of it from an | ||
1024 | "upstream" source. | ||
1025 | </para></listitem> | ||
1026 | </itemizedlist> | ||
1027 | </para> | ||
1028 | </section> | ||
1029 | |||
1030 | >>>>>>> a82bcc9... dev-manual: Updates to "Using .bbappend Files in Your Layer" | ||
624 | </chapter> | 1031 | </chapter> |
625 | <!-- | 1032 | <!-- |
626 | vim: expandtab tw=80 ts=4 | 1033 | vim: expandtab tw=80 ts=4 |