diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-newbie.xml')
| -rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index ad5f3c9ecf..fbb9d5faef 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml | |||
| @@ -82,7 +82,7 @@ | |||
| 82 | <para> | 82 | <para> |
| 83 | For any supported release of Yocto Project you can go to the Yocto Project website’s | 83 | For any supported release of Yocto Project you can go to the Yocto Project website’s |
| 84 | <ulink url='http://www.yoctoproject.org/download'>download page</ulink> and get a | 84 | <ulink url='http://www.yoctoproject.org/download'>download page</ulink> and get a |
| 85 | <filename>.bz2</filename> tarball of the release. | 85 | tarball of the release. |
| 86 | You can also go to this site to download any supported BSP tarballs. | 86 | You can also go to this site to download any supported BSP tarballs. |
| 87 | Unpacking the tarball gives you a hierarchical directory structure of Yocto Project | 87 | Unpacking the tarball gives you a hierarchical directory structure of Yocto Project |
| 88 | files that lets you develop using the Yocto Project. | 88 | files that lets you develop using the Yocto Project. |
| @@ -133,50 +133,57 @@ | |||
| 133 | Some terms are universal but are included here just in case: | 133 | Some terms are universal but are included here just in case: |
| 134 | <itemizedlist> | 134 | <itemizedlist> |
| 135 | <listitem><para><emphasis>Image</emphasis> - An image is a collection of recipes created | 135 | <listitem><para><emphasis>Image</emphasis> - An image is a collection of recipes created |
| 136 | with BitBake (baked) and made part of a root filesystem.</para></listitem> | 136 | with BitBake (baked) and made part of a root filesystem. |
| 137 | Images are both the binary output that runs on specific hardware and for specific | ||
| 138 | use cases as well as a metadata recipe that BitBake processes to generate the | ||
| 139 | binary output.</para></listitem> | ||
| 137 | <listitem><para><emphasis>Recipe</emphasis> - A set of instructions for building packages. | 140 | <listitem><para><emphasis>Recipe</emphasis> - A set of instructions for building packages. |
| 138 | A recipe describes where you get source code and which patches to apply. | 141 | A recipe describes where you get source code and which patches to apply. |
| 139 | Recipes describe dependencies for libraries or for other recipes and they | 142 | Recipes describe dependencies for libraries or for other recipes and they |
| 140 | also contain configuration and compilation options. | 143 | also contain configuration and compilation options. |
| 141 | Recipes also let you customize how software is installed into images. | 144 | Recipes contain the logical unit of execution, the software/images to build, and |
| 142 | Recipes contain the logical unit of execution, the software/images to build and | ||
| 143 | use the <filename>.bb</filename> file extension.</para></listitem> | 145 | use the <filename>.bb</filename> file extension.</para></listitem> |
| 144 | <listitem><para><emphasis>BitBake</emphasis> - The task executor and scheduler used by Yocto Project | 146 | <listitem><para><emphasis>BitBake</emphasis> - The task executor and scheduler used by Yocto Project |
| 145 | to build images. | 147 | to build images. |
| 146 | For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'> | 148 | For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'> |
| 147 | BitBake documentation</ulink>.</para></listitem> | 149 | BitBake documentation</ulink>.</para></listitem> |
| 148 | <listitem><para><emphasis>Package</emphasis> - The output from a baked recipe. | 150 | <listitem><para><emphasis>Package</emphasis> - The packaged output from a baked recipe. |
| 149 | A package is generally the compiled binaries produced from the recipe's sources. | 151 | A package is generally the compiled binaries produced from the recipe's sources. |
| 150 | You ‘bake’ something by running it through BitBake.</para></listitem> | 152 | You ‘bake’ something by running it through BitBake.</para></listitem> |
| 151 | <listitem><para><emphasis>Layer</emphasis> - A logical collection of recipes representing the core, | 153 | <listitem><para><emphasis>Layer</emphasis> - A collection of recipes representing the core, |
| 152 | a BSP, or an application stack.</para></listitem> | 154 | a BSP, or an application stack.</para></listitem> |
| 153 | <listitem><para><emphasis>Metadata</emphasis> - Information for a build that is generally | 155 | <listitem><para><emphasis>Metadata</emphasis> - A term used throughout the Yocto Project |
| 154 | architecture-independent. | 156 | documentation that refers to the files that BitBake parses when building an image. |
| 155 | This information includes Task definitions in recipes, classes, and configuration | 157 | Metadata includes recipes, classes, and configuration files.</para></listitem> |
| 156 | information.</para></listitem> | ||
| 157 | <listitem><para><emphasis>Configuration File</emphasis>: Configuration information in the | 158 | <listitem><para><emphasis>Configuration File</emphasis>: Configuration information in the |
| 158 | <filename>.conf</filename> files provides global definitions of variables. | 159 | <filename>.conf</filename> files provides global definitions of variables. |
| 159 | The <filename>build/conf/local.conf</filename> configuration file defines local user-defined variables. | 160 | The <filename>build/conf/local.conf</filename> configuration file defines user-defined variables |
| 161 | that effect each build. | ||
| 160 | The <filename>distro/poky.conf</filename> configuration file defines Yocto ‘distro’ configuration | 162 | The <filename>distro/poky.conf</filename> configuration file defines Yocto ‘distro’ configuration |
| 161 | variables. | 163 | variables used only when building with this policy. |
| 162 | The <filename>machine/beagleboard.conf</filename> configuration file defines machine-specific variables | 164 | The <filename>machine/beagleboard.conf</filename> configuration file defines variables |
| 163 | (i.e. Texas Instruments ARM Cortex-A8 development board in this example. | 165 | for the Beagleboard and are only used when building for that target |
| 166 | (i.e. Texas Instruments ARM Cortex-A8 development board). | ||
| 164 | Configuration files end with a <filename>.conf</filename> filename extension.</para></listitem> | 167 | Configuration files end with a <filename>.conf</filename> filename extension.</para></listitem> |
| 165 | <listitem><para><emphasis>Classes</emphasis> - Files that encapsulate and inherit logic. | 168 | <listitem><para><emphasis>Classes</emphasis> - Files that provide for logic encapsulation |
| 169 | and inheritance allowing commonly used pattrerns to be defined once and easily used | ||
| 170 | in multiple recipes. | ||
| 166 | Class files end with the <filename>.bbclass</filename> filename extension.</para></listitem> | 171 | Class files end with the <filename>.bbclass</filename> filename extension.</para></listitem> |
| 167 | <listitem><para><emphasis>Append Files</emphasis> - Files that append build information to | 172 | <listitem><para><emphasis>Append Files</emphasis> - Files that append build information to |
| 168 | a recipe file. | 173 | a recipe file. |
| 169 | Information in append files override the information in the similarly-named recipe file. | 174 | Information in append files override the information in the similarly-named recipe file. |
| 170 | Append files use the <filename>.bbappend</filename> filename suffix.</para></listitem> | 175 | Append files use the <filename>.bbappend</filename> filename suffix.</para></listitem> |
| 171 | <listitem><para><emphasis>Tasks</emphasis> - Arbitrary groups of software used to contain Recipes. | 176 | <listitem><para><emphasis>Tasks</emphasis> - Arbitrary groups of software Recipes. |
| 172 | You simply use Tasks to hold recipes that when build usually accomplished a single task. | 177 | You simply use Tasks to hold recipes that when built usually accomplish a single task. |
| 173 | For example, a task could contain the recipes for a company’s proprietary or value-add software. | 178 | For example, a task could contain the recipes for a company’s proprietary or value-add software. |
| 174 | Or the task could contain the recipes that enable graphics. | 179 | Or the task could contain the recipes that enable graphics. |
| 175 | A task is really just another recipe. | 180 | A task is really just another recipe. |
| 176 | Because task files are recipes, they end with the <filename>.bb</filename> filename | 181 | Because task files are recipes, they end with the <filename>.bb</filename> filename |
| 177 | extension.</para></listitem> | 182 | extension.</para></listitem> |
| 178 | <listitem><para><emphasis>OE-Core</emphasis> - A core set of metadata originating | 183 | <listitem><para><emphasis>OE-Core</emphasis> - A core set of metadata originating |
| 179 | with OpenEmbedded (OE) that is shared between OE and the Yocto Project.</para></listitem> | 184 | with OpenEmbedded (OE) that is shared between OE and the Yocto Project. |
| 185 | This metadata is found in the <filename>meta</filename> directory of the Yocto Project | ||
| 186 | files.</para></listitem> | ||
| 180 | <listitem><para><emphasis>Upstream</emphasis> - A reference to source code or repositories | 187 | <listitem><para><emphasis>Upstream</emphasis> - A reference to source code or repositories |
| 181 | that are not local to the development system but located in a master area that is controlled | 188 | that are not local to the development system but located in a master area that is controlled |
| 182 | by the maintainer of the source code. | 189 | by the maintainer of the source code. |
| @@ -223,7 +230,9 @@ | |||
| 223 | <filename><build_directory>/tmp/deploy/images/licenses</filename>. | 230 | <filename><build_directory>/tmp/deploy/images/licenses</filename>. |
| 224 | If a module requires a license that is not in the base list, the build process | 231 | If a module requires a license that is not in the base list, the build process |
| 225 | generates a warning during the build. | 232 | generates a warning during the build. |
| 226 | It is up to the developer to resolve potential licensing issues. | 233 | These tools make it easier for a developer to be certain of the licenses with which |
| 234 | their shipped products must comply. | ||
| 235 | However, it is still up to the developer to resolve potential licensing issues. | ||
| 227 | </para> | 236 | </para> |
| 228 | 237 | ||
| 229 | <para> | 238 | <para> |
| @@ -470,8 +479,10 @@ | |||
| 470 | </para> | 479 | </para> |
| 471 | 480 | ||
| 472 | <para> | 481 | <para> |
| 473 | Sometimes it is helpful to submit, investigate, or track a bug against the Yocto Project itself. | 482 | Sometimes it is helpful to submit, investigate, or track a bug against the Yocto Project itself |
| 474 | While normally this is a process relevant only to Yocto Project developers, you can find information | 483 | such as when discovering an issue with some component of the build system that acts contrary |
| 484 | to the documentation or expectations. | ||
| 485 | You can find information | ||
| 475 | for Bugzilla configuration and bug tracking procedures specific to the Yocto Project | 486 | for Bugzilla configuration and bug tracking procedures specific to the Yocto Project |
| 476 | <ulink url='https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>. | 487 | <ulink url='https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>. |
| 477 | </para> | 488 | </para> |
| @@ -487,7 +498,7 @@ | |||
| 487 | Here are some things to remember when dealing with bugs against the Yocto Project: | 498 | Here are some things to remember when dealing with bugs against the Yocto Project: |
| 488 | <itemizedlist> | 499 | <itemizedlist> |
| 489 | <listitem><para>The Yocto Project follows a naming bug-naming convention: | 500 | <listitem><para>The Yocto Project follows a naming bug-naming convention: |
| 490 | <filename>[YOCTO <number>]</filename>, where <filename><number></filename> is the | 501 | <filename>[YOCTO #<number>]</filename>, where <filename><number></filename> is the |
| 491 | assigned defect ID used in Bugzilla. | 502 | assigned defect ID used in Bugzilla. |
| 492 | So, for example, a valid way to refer to a defect when creating a commit comment | 503 | So, for example, a valid way to refer to a defect when creating a commit comment |
| 493 | would be <filename>[YOCTO 1011]</filename>. | 504 | would be <filename>[YOCTO 1011]</filename>. |
