diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-common-tasks.rst')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.rst | 173 |
1 files changed, 84 insertions, 89 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.rst b/documentation/dev-manual/dev-manual-common-tasks.rst index e1fe881437..c019057bf8 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.rst +++ b/documentation/dev-manual/dev-manual-common-tasks.rst | |||
@@ -48,8 +48,8 @@ Follow these general steps to create your layer without using tools: | |||
48 | 48 | ||
49 | 2. *Create a Directory:* Create the directory for your layer. When you | 49 | 2. *Create a Directory:* Create the directory for your layer. When you |
50 | create the layer, be sure to create the directory in an area not | 50 | create the layer, be sure to create the directory in an area not |
51 | associated with the Yocto Project `Source | 51 | associated with the Yocto Project :term:`Source Directory` |
52 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. the cloned | 52 | (e.g. the cloned |
53 | ``poky`` repository). | 53 | ``poky`` repository). |
54 | 54 | ||
55 | While not strictly required, prepend the name of the directory with | 55 | While not strictly required, prepend the name of the directory with |
@@ -263,8 +263,7 @@ following list: | |||
263 | repository that use the ``meta-layer_name`` format. | 263 | repository that use the ``meta-layer_name`` format. |
264 | 264 | ||
265 | - *Group Your Layers Locally:* Clone your repository alongside other | 265 | - *Group Your Layers Locally:* Clone your repository alongside other |
266 | cloned ``meta`` directories from the `Source | 266 | cloned ``meta`` directories from the :term:`Source Directory`. |
267 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. | ||
268 | 267 | ||
269 | Making Sure Your Layer is Compatible With Yocto Project | 268 | Making Sure Your Layer is Compatible With Yocto Project |
270 | ------------------------------------------------------- | 269 | ------------------------------------------------------- |
@@ -449,8 +448,8 @@ does not have a corresponding recipe with a matching name. See the | |||
449 | variable for information on how to handle this error. | 448 | variable for information on how to handle this error. |
450 | 449 | ||
451 | As an example, consider the main formfactor recipe and a corresponding | 450 | As an example, consider the main formfactor recipe and a corresponding |
452 | formfactor append file both from the `Source | 451 | formfactor append file both from the :term:`Source Directory`. |
453 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. Here is the main | 452 | Here is the main |
454 | formfactor recipe, which is named ``formfactor_0.0.bb`` and located in | 453 | formfactor recipe, which is named ``formfactor_0.0.bb`` and located in |
455 | the "meta" layer at ``meta/recipes-bsp/formfactor``: SUMMARY = "Device | 454 | the "meta" layer at ``meta/recipes-bsp/formfactor``: SUMMARY = "Device |
456 | formfactor information" SECTION = "base" LICENSE = "MIT" | 455 | formfactor information" SECTION = "base" LICENSE = "MIT" |
@@ -769,8 +768,8 @@ high-level image features by using the | |||
769 | variables. Although the functions for both variables are nearly | 768 | variables. Although the functions for both variables are nearly |
770 | equivalent, best practices dictate using ``IMAGE_FEATURES`` from within | 769 | equivalent, best practices dictate using ``IMAGE_FEATURES`` from within |
771 | a recipe and using ``EXTRA_IMAGE_FEATURES`` from within your | 770 | a recipe and using ``EXTRA_IMAGE_FEATURES`` from within your |
772 | ``local.conf`` file, which is found in the `Build | 771 | ``local.conf`` file, which is found in the |
773 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. | 772 | :term:`Build Directory`. |
774 | 773 | ||
775 | To understand how these features work, the best reference is | 774 | To understand how these features work, the best reference is |
776 | ``meta/classes/core-image.bbclass``. This class lists out the available | 775 | ``meta/classes/core-image.bbclass``. This class lists out the available |
@@ -996,8 +995,8 @@ application that builds using Autotools. Creating the base recipe using | |||
996 | ``recipetool`` results in a recipe that has the pre-build dependencies, | 995 | ``recipetool`` results in a recipe that has the pre-build dependencies, |
997 | license requirements, and checksums configured. | 996 | license requirements, and checksums configured. |
998 | 997 | ||
999 | To run the tool, you just need to be in your `Build | 998 | To run the tool, you just need to be in your |
1000 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ and have sourced the | 999 | :term:`Build Directory` and have sourced the |
1001 | build environment setup script (i.e. | 1000 | build environment setup script (i.e. |
1002 | ```oe-init-build-env`` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__). | 1001 | ```oe-init-build-env`` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__). |
1003 | To get help on the tool, use the following command: $ recipetool -h | 1002 | To get help on the tool, use the following command: $ recipetool -h |
@@ -1799,8 +1798,8 @@ different ways: | |||
1799 | 1798 | ||
1800 | To enable a service using systemd, your recipe needs to inherit the | 1799 | To enable a service using systemd, your recipe needs to inherit the |
1801 | :ref:`systemd <ref-classes-systemd>` class. See | 1800 | :ref:`systemd <ref-classes-systemd>` class. See |
1802 | the ``systemd.bbclass`` file located in your `Source | 1801 | the ``systemd.bbclass`` file located in your :term:`Source Directory` |
1803 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. section for | 1802 | section for |
1804 | more information. | 1803 | more information. |
1805 | 1804 | ||
1806 | .. _new-recipe-packaging: | 1805 | .. _new-recipe-packaging: |
@@ -2251,7 +2250,7 @@ could lead to compatibility problems with ABI in the future. However, | |||
2251 | sometimes you have no choice. | 2250 | sometimes you have no choice. |
2252 | 2251 | ||
2253 | The easiest solution is to create a recipe that uses the | 2252 | The easiest solution is to create a recipe that uses the |
2254 | ```bin_package`` <&YOCTO_DOCS_REF_URL;#ref-classes-bin-package>`__ class | 2253 | :ref:`bin_package <ref-classes-bin-package>` class |
2255 | and to be sure that you are using default locations for build artifacts. | 2254 | and to be sure that you are using default locations for build artifacts. |
2256 | In most cases, the ``bin_package`` class handles "skipping" the | 2255 | In most cases, the ``bin_package`` class handles "skipping" the |
2257 | configure and compile steps as well as sets things up to grab packages | 2256 | configure and compile steps as well as sets things up to grab packages |
@@ -2739,7 +2738,7 @@ The following steps describe how to set up the AUH utility: | |||
2739 | your build directory. | 2738 | your build directory. |
2740 | 2739 | ||
2741 | - If you want to enable testing through the | 2740 | - If you want to enable testing through the |
2742 | ```testimage`` <&YOCTO_DOCS_REF_URL;#ref-classes-testimage*>`__ | 2741 | :ref:`testimage <ref-classes-testimage*>` |
2743 | class, which is optional, you need to have the following set in | 2742 | class, which is optional, you need to have the following set in |
2744 | your ``conf/local.conf`` file: INHERIT += "testimage" | 2743 | your ``conf/local.conf`` file: INHERIT += "testimage" |
2745 | 2744 | ||
@@ -2856,8 +2855,8 @@ could add it easily using the | |||
2856 | script. For example, suppose you use the ``nano.bb`` recipe from the | 2855 | script. For example, suppose you use the ``nano.bb`` recipe from the |
2857 | ``meta-oe`` layer in the ``meta-openembedded`` repository. For this | 2856 | ``meta-oe`` layer in the ``meta-openembedded`` repository. For this |
2858 | example, assume that the layer has been cloned into following area: | 2857 | example, assume that the layer has been cloned into following area: |
2859 | /home/scottrif/meta-openembedded The following command from your `Build | 2858 | /home/scottrif/meta-openembedded The following command from your |
2860 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ adds the layer to | 2859 | :term:`Build Directory` adds the layer to |
2861 | your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``): $ | 2860 | your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``): $ |
2862 | bitbake-layers add-layer /home/scottrif/meta-openembedded/meta-oe NOTE: | 2861 | bitbake-layers add-layer /home/scottrif/meta-openembedded/meta-oe NOTE: |
2863 | Starting bitbake server... Parsing recipes: 100% | 2862 | Starting bitbake server... Parsing recipes: 100% |
@@ -3014,8 +3013,8 @@ You might find it helpful during development to modify the temporary | |||
3014 | source code used by recipes to build packages. For example, suppose you | 3013 | source code used by recipes to build packages. For example, suppose you |
3015 | are developing a patch and you need to experiment a bit to figure out | 3014 | are developing a patch and you need to experiment a bit to figure out |
3016 | your solution. After you have initially built the package, you can | 3015 | your solution. After you have initially built the package, you can |
3017 | iteratively tweak the source code, which is located in the `Build | 3016 | iteratively tweak the source code, which is located in the |
3018 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, and then you can | 3017 | :term:`Build Directory`, and then you can |
3019 | force a re-compile and quickly test your altered code. Once you settle | 3018 | force a re-compile and quickly test your altered code. Once you settle |
3020 | on a solution, you can then preserve your changes in the form of | 3019 | on a solution, you can then preserve your changes in the form of |
3021 | patches. | 3020 | patches. |
@@ -3024,8 +3023,8 @@ During a build, the unpacked temporary source code used by recipes to | |||
3024 | build packages is available in the Build Directory as defined by the | 3023 | build packages is available in the Build Directory as defined by the |
3025 | :term:`S` variable. Below is the default | 3024 | :term:`S` variable. Below is the default |
3026 | value for the ``S`` variable as defined in the | 3025 | value for the ``S`` variable as defined in the |
3027 | ``meta/conf/bitbake.conf`` configuration file in the `Source | 3026 | ``meta/conf/bitbake.conf`` configuration file in the |
3028 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__: S = | 3027 | :term:`Source Directory`: S = |
3029 | "${WORKDIR}/${BP}" You should be aware that many recipes override the | 3028 | "${WORKDIR}/${BP}" You should be aware that many recipes override the |
3030 | ``S`` variable. For example, recipes that fetch their source from Git | 3029 | ``S`` variable. For example, recipes that fetch their source from Git |
3031 | usually set ``S`` to ``${WORKDIR}/git``. | 3030 | usually set ``S`` to ``${WORKDIR}/git``. |
@@ -3096,8 +3095,8 @@ form of a patch all using Quilt. | |||
3096 | Follow these general steps: | 3095 | Follow these general steps: |
3097 | 3096 | ||
3098 | 1. *Find the Source Code:* Temporary source code used by the | 3097 | 1. *Find the Source Code:* Temporary source code used by the |
3099 | OpenEmbedded build system is kept in the `Build | 3098 | OpenEmbedded build system is kept in the |
3100 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. See the | 3099 | :term:`Build Directory`. See the |
3101 | "`Finding Temporary Source | 3100 | "`Finding Temporary Source |
3102 | Code <#finding-the-temporary-source-code>`__" section to learn how to | 3101 | Code <#finding-the-temporary-source-code>`__" section to learn how to |
3103 | locate the directory that has the temporary source code for a | 3102 | locate the directory that has the temporary source code for a |
@@ -3314,8 +3313,8 @@ build host running Linux. | |||
3314 | Build <&YOCTO_DOCS_BRIEF_URL;>`__ document. | 3313 | Build <&YOCTO_DOCS_BRIEF_URL;>`__ document. |
3315 | 3314 | ||
3316 | The build process creates an entire Linux distribution from source and | 3315 | The build process creates an entire Linux distribution from source and |
3317 | places it in your `Build | 3316 | places it in your |
3318 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ under | 3317 | :term:`Build Directory` under |
3319 | ``tmp/deploy/images``. For detailed information on the build process | 3318 | ``tmp/deploy/images``. For detailed information on the build process |
3320 | using BitBake, see the | 3319 | using BitBake, see the |
3321 | "`Images <&YOCTO_DOCS_OM_URL;#images-dev-environment>`__" section in the | 3320 | "`Images <&YOCTO_DOCS_OM_URL;#images-dev-environment>`__" section in the |
@@ -3372,8 +3371,8 @@ The following figure and list overviews the build process: | |||
3372 | 3371 | ||
3373 | The target is the name of the recipe you want to build. Common | 3372 | The target is the name of the recipe you want to build. Common |
3374 | targets are the images in ``meta/recipes-core/images``, | 3373 | targets are the images in ``meta/recipes-core/images``, |
3375 | ``meta/recipes-sato/images``, and so forth all found in the `Source | 3374 | ``meta/recipes-sato/images``, and so forth all found in the |
3376 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. Or, the target | 3375 | :term:`Source Directory`. Or, the target |
3377 | can be the name of a recipe for a specific piece of software such as | 3376 | can be the name of a recipe for a specific piece of software such as |
3378 | BusyBox. For more details about the images the OpenEmbedded build | 3377 | BusyBox. For more details about the images the OpenEmbedded build |
3379 | system supports, see the | 3378 | system supports, see the |
@@ -3557,8 +3556,8 @@ Follow these steps to create an initramfs image: | |||
3557 | 3556 | ||
3558 | 1. *Create the initramfs Image Recipe:* You can reference the | 3557 | 1. *Create the initramfs Image Recipe:* You can reference the |
3559 | ``core-image-minimal-initramfs.bb`` recipe found in the | 3558 | ``core-image-minimal-initramfs.bb`` recipe found in the |
3560 | ``meta/recipes-core`` directory of the `Source | 3559 | ``meta/recipes-core`` directory of the :term:`Source Directory` |
3561 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ as an example | 3560 | as an example |
3562 | from which to work. | 3561 | from which to work. |
3563 | 3562 | ||
3564 | 2. *Decide if You Need to Bundle the initramfs Image Into the Kernel | 3563 | 2. *Decide if You Need to Bundle the initramfs Image Into the Kernel |
@@ -3715,8 +3714,8 @@ memory used for decompressing the kernel and for the ``__init__`` | |||
3715 | functions. | 3714 | functions. |
3716 | 3715 | ||
3717 | To help you see where you currently are with kernel and root filesystem | 3716 | To help you see where you currently are with kernel and root filesystem |
3718 | sizes, you can use two tools found in the `Source | 3717 | sizes, you can use two tools found in the :term:`Source Directory` |
3719 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ in the | 3718 | in the |
3720 | ``scripts/tiny/`` directory: | 3719 | ``scripts/tiny/`` directory: |
3721 | 3720 | ||
3722 | - ``ksize.py``: Reports component sizes for the kernel build objects. | 3721 | - ``ksize.py``: Reports component sizes for the kernel build objects. |
@@ -4049,8 +4048,8 @@ your tunings to best consider build times and package feed maintenance. | |||
4049 | Building Software from an External Source | 4048 | Building Software from an External Source |
4050 | ----------------------------------------- | 4049 | ----------------------------------------- |
4051 | 4050 | ||
4052 | By default, the OpenEmbedded build system uses the `Build | 4051 | By default, the OpenEmbedded build system uses the |
4053 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ when building source | 4052 | :term:`Build Directory` when building source |
4054 | code. The build process involves fetching the source files, unpacking | 4053 | code. The build process involves fetching the source files, unpacking |
4055 | them, and then patching them if necessary before the build takes place. | 4054 | them, and then patching them if necessary before the build takes place. |
4056 | 4055 | ||
@@ -4158,8 +4157,7 @@ directory: | |||
4158 | 2. *Start With a Clean Build:* You can start with a clean build by | 4157 | 2. *Start With a Clean Build:* You can start with a clean build by |
4159 | removing the | 4158 | removing the |
4160 | ``${``\ :term:`TMPDIR`\ ``}`` | 4159 | ``${``\ :term:`TMPDIR`\ ``}`` |
4161 | directory or using a new `Build | 4160 | directory or using a new :term:`Build Directory`. |
4162 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. | ||
4163 | 4161 | ||
4164 | 3. *Build Your Target:* Use BitBake to build your target: $ bitbake | 4162 | 3. *Build Your Target:* Use BitBake to build your target: $ bitbake |
4165 | target The build completes using the known local "snapshot" of source | 4163 | target The build completes using the known local "snapshot" of source |
@@ -4258,7 +4256,7 @@ Following are additional factors that can affect build speed: | |||
4258 | contents could easily be rebuilt. | 4256 | contents could easily be rebuilt. |
4259 | 4257 | ||
4260 | - Inheriting the | 4258 | - Inheriting the |
4261 | ```rm_work`` <&YOCTO_DOCS_REF_URL;#ref-classes-rm-work>`__ class: | 4259 | :ref:`rm_work <ref-classes-rm-work>` class: |
4262 | Inheriting this class has shown to speed up builds due to | 4260 | Inheriting this class has shown to speed up builds due to |
4263 | significantly lower amounts of data stored in the data cache as well | 4261 | significantly lower amounts of data stored in the data cache as well |
4264 | as on disk. Inheriting this class also makes cleanup of | 4262 | as on disk. Inheriting this class also makes cleanup of |
@@ -4409,8 +4407,8 @@ meet your needs. | |||
4409 | In order to enable Multilib, you first need to ensure your recipe is | 4407 | In order to enable Multilib, you first need to ensure your recipe is |
4410 | extended to support multiple libraries. Many standard recipes are | 4408 | extended to support multiple libraries. Many standard recipes are |
4411 | already extended and support multiple libraries. You can check in the | 4409 | already extended and support multiple libraries. You can check in the |
4412 | ``meta/conf/multilib.conf`` configuration file in the `Source | 4410 | ``meta/conf/multilib.conf`` configuration file in the |
4413 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ to see how this is | 4411 | :term:`Source Directory` to see how this is |
4414 | done using the | 4412 | done using the |
4415 | :term:`BBCLASSEXTEND` variable. | 4413 | :term:`BBCLASSEXTEND` variable. |
4416 | Eventually, all recipes will be covered and this list will not be | 4414 | Eventually, all recipes will be covered and this list will not be |
@@ -4436,8 +4434,8 @@ Using Multilib | |||
4436 | 4434 | ||
4437 | After you have set up the recipes, you need to define the actual | 4435 | After you have set up the recipes, you need to define the actual |
4438 | combination of multiple libraries you want to build. You accomplish this | 4436 | combination of multiple libraries you want to build. You accomplish this |
4439 | through your ``local.conf`` configuration file in the `Build | 4437 | through your ``local.conf`` configuration file in the |
4440 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. An example | 4438 | :term:`Build Directory`. An example |
4441 | configuration would be as follows: MACHINE = "qemux86-64" require | 4439 | configuration would be as follows: MACHINE = "qemux86-64" require |
4442 | conf/multilib.conf MULTILIBS = "multilib:lib32" | 4440 | conf/multilib.conf MULTILIBS = "multilib:lib32" |
4443 | DEFAULTTUNE_virtclass-multilib-lib32 = "x86" IMAGE_INSTALL_append = " | 4441 | DEFAULTTUNE_virtclass-multilib-lib32 = "x86" IMAGE_INSTALL_append = " |
@@ -4936,8 +4934,8 @@ Raw Mode | |||
4936 | 4934 | ||
4937 | Running Wic in raw mode allows you to specify all the partitions through | 4935 | Running Wic in raw mode allows you to specify all the partitions through |
4938 | the ``wic`` command line. The primary use for raw mode is if you have | 4936 | the ``wic`` command line. The primary use for raw mode is if you have |
4939 | built your kernel outside of the Yocto Project `Build | 4937 | built your kernel outside of the Yocto Project |
4940 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. In other words, you | 4938 | :term:`Build Directory`. In other words, you |
4941 | can point to arbitrary kernel, root filesystem locations, and so forth. | 4939 | can point to arbitrary kernel, root filesystem locations, and so forth. |
4942 | Contrast this behavior with cooked mode where Wic looks in the Build | 4940 | Contrast this behavior with cooked mode where Wic looks in the Build |
4943 | Directory (e.g. ``tmp/deploy/images/``\ machine). | 4941 | Directory (e.g. ``tmp/deploy/images/``\ machine). |
@@ -5210,8 +5208,8 @@ This next example demonstrates that through modification of the | |||
5210 | As mentioned earlier, you can use the command ``wic list images`` to | 5208 | As mentioned earlier, you can use the command ``wic list images`` to |
5211 | show the list of existing kickstart files. The directory in which the | 5209 | show the list of existing kickstart files. The directory in which the |
5212 | ``directdisk-gpt.wks`` file resides is | 5210 | ``directdisk-gpt.wks`` file resides is |
5213 | ``scripts/lib/image/canned-wks/``, which is located in the `Source | 5211 | ``scripts/lib/image/canned-wks/``, which is located in the |
5214 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. ``poky``). | 5212 | :term:`Source Directory` (e.g. ``poky``). |
5215 | Because available files reside in this directory, you can create and add | 5213 | Because available files reside in this directory, you can create and add |
5216 | your own custom files to the directory. Subsequent use of the | 5214 | your own custom files to the directory. Subsequent use of the |
5217 | ``wic list images`` command would then include your kickstart files. | 5215 | ``wic list images`` command would then include your kickstart files. |
@@ -5520,8 +5518,8 @@ Security Flags | |||
5520 | 5518 | ||
5521 | The Yocto Project has security flags that you can enable that help make | 5519 | The Yocto Project has security flags that you can enable that help make |
5522 | your build output more secure. The security flags are in the | 5520 | your build output more secure. The security flags are in the |
5523 | ``meta/conf/distro/include/security_flags.inc`` file in your `Source | 5521 | ``meta/conf/distro/include/security_flags.inc`` file in your |
5524 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. ``poky``). | 5522 | :term:`Source Directory` (e.g. ``poky``). |
5525 | 5523 | ||
5526 | .. note:: | 5524 | .. note:: |
5527 | 5525 | ||
@@ -5561,7 +5559,7 @@ system to make your images more secure: | |||
5561 | :ref:`extrausers <ref-classes-extrausers>` | 5559 | :ref:`extrausers <ref-classes-extrausers>` |
5562 | class, which is the preferred method. For an example on how to set up | 5560 | class, which is the preferred method. For an example on how to set up |
5563 | both root and user passwords, see the | 5561 | both root and user passwords, see the |
5564 | "```extrausers.bbclass`` <&YOCTO_DOCS_REF_URL;#ref-classes-extrausers>`__" | 5562 | ":ref:`extrausers.bbclass <ref-classes-extrausers>`" |
5565 | section. | 5563 | section. |
5566 | 5564 | ||
5567 | .. note:: | 5565 | .. note:: |
@@ -5663,8 +5661,8 @@ layer. The following steps provide some more detail: | |||
5663 | limited to the list in the previous bulleted item. | 5661 | limited to the list in the previous bulleted item. |
5664 | 5662 | ||
5665 | - *Point to Your distribution configuration file:* In your | 5663 | - *Point to Your distribution configuration file:* In your |
5666 | ``local.conf`` file in the `Build | 5664 | ``local.conf`` file in the :term:`Build Directory`, |
5667 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, set your | 5665 | set your |
5668 | :term:`DISTRO` variable to point to | 5666 | :term:`DISTRO` variable to point to |
5669 | your distribution's configuration file. For example, if your | 5667 | your distribution's configuration file. For example, if your |
5670 | distribution's configuration file is named ``mydistro.conf``, then | 5668 | distribution's configuration file is named ``mydistro.conf``, then |
@@ -5704,8 +5702,8 @@ new build directory. | |||
5704 | 5702 | ||
5705 | The OpenEmbedded build system uses the environment variable | 5703 | The OpenEmbedded build system uses the environment variable |
5706 | ``TEMPLATECONF`` to locate the directory from which it gathers | 5704 | ``TEMPLATECONF`` to locate the directory from which it gathers |
5707 | configuration information that ultimately ends up in the `Build | 5705 | configuration information that ultimately ends up in the |
5708 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ ``conf`` directory. | 5706 | :term:`Build Directory` ``conf`` directory. |
5709 | By default, ``TEMPLATECONF`` is set as follows in the ``poky`` | 5707 | By default, ``TEMPLATECONF`` is set as follows in the ``poky`` |
5710 | repository: TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf} This is the | 5708 | repository: TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf} This is the |
5711 | directory used by the build system to find templates from which to build | 5709 | directory used by the build system to find templates from which to build |
@@ -5762,7 +5760,7 @@ the :term:`Build Directory`: INHERIT | |||
5762 | += "rm_work" Adding this statement deletes the work directory used for | 5760 | += "rm_work" Adding this statement deletes the work directory used for |
5763 | building a recipe once the recipe is built. For more information on | 5761 | building a recipe once the recipe is built. For more information on |
5764 | "rm_work", see the | 5762 | "rm_work", see the |
5765 | ```rm_work`` <&YOCTO_DOCS_REF_URL;#ref-classes-rm-work>`__ class in the | 5763 | :ref:`rm_work <ref-classes-rm-work>` class in the |
5766 | Yocto Project Reference Manual. | 5764 | Yocto Project Reference Manual. |
5767 | 5765 | ||
5768 | Working with Packages | 5766 | Working with Packages |
@@ -5947,8 +5945,7 @@ The simplest form for a PR Service is for it to exist for a single host | |||
5947 | development system that builds the package feed (building system). For | 5945 | development system that builds the package feed (building system). For |
5948 | this scenario, you can enable a local PR Service by setting | 5946 | this scenario, you can enable a local PR Service by setting |
5949 | :term:`PRSERV_HOST` in your | 5947 | :term:`PRSERV_HOST` in your |
5950 | ``local.conf`` file in the `Build | 5948 | ``local.conf`` file in the :term:`Build Directory`: PRSERV_HOST = |
5951 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: PRSERV_HOST = | ||
5952 | "localhost:0" Once the service is started, packages will automatically | 5949 | "localhost:0" Once the service is started, packages will automatically |
5953 | get increasing ``PR`` values and BitBake takes care of starting and | 5950 | get increasing ``PR`` values and BitBake takes care of starting and |
5954 | stopping the server. | 5951 | stopping the server. |
@@ -6253,8 +6250,8 @@ to use. In your configuration, you use the | |||
6253 | :term:`PACKAGE_CLASSES` | 6250 | :term:`PACKAGE_CLASSES` |
6254 | variable to specify the format: | 6251 | variable to specify the format: |
6255 | 6252 | ||
6256 | 1. Open the ``local.conf`` file inside your `Build | 6253 | 1. Open the ``local.conf`` file inside your |
6257 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ (e.g. | 6254 | :term:`Build Directory` (e.g. |
6258 | ``~/poky/build/conf/local.conf``). | 6255 | ``~/poky/build/conf/local.conf``). |
6259 | 6256 | ||
6260 | 2. Select the desired package format as follows: PACKAGE_CLASSES ?= | 6257 | 2. Select the desired package format as follows: PACKAGE_CLASSES ?= |
@@ -6582,8 +6579,8 @@ Adding ptest to Your Build | |||
6582 | To add package testing to your build, add the | 6579 | To add package testing to your build, add the |
6583 | :term:`DISTRO_FEATURES` and | 6580 | :term:`DISTRO_FEATURES` and |
6584 | :term:`EXTRA_IMAGE_FEATURES` | 6581 | :term:`EXTRA_IMAGE_FEATURES` |
6585 | variables to your ``local.conf`` file, which is found in the `Build | 6582 | variables to your ``local.conf`` file, which is found in the |
6586 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: | 6583 | :term:`Build Directory`: |
6587 | DISTRO_FEATURES_append = " ptest" EXTRA_IMAGE_FEATURES += "ptest-pkgs" | 6584 | DISTRO_FEATURES_append = " ptest" EXTRA_IMAGE_FEATURES += "ptest-pkgs" |
6588 | Once your build is complete, the ptest files are installed into the | 6585 | Once your build is complete, the ptest files are installed into the |
6589 | ``/usr/lib/package/ptest`` directory within the image, where ``package`` | 6586 | ``/usr/lib/package/ptest`` directory within the image, where ``package`` |
@@ -7407,8 +7404,8 @@ dependency graphs, so you can see why something was pulled into the | |||
7407 | image. If you are just interested in this information and not interested | 7404 | image. If you are just interested in this information and not interested |
7408 | in collecting specific package or SDK information, you can enable | 7405 | in collecting specific package or SDK information, you can enable |
7409 | writing only image information without any history by adding the | 7406 | writing only image information without any history by adding the |
7410 | following to your ``conf/local.conf`` file found in the `Build | 7407 | following to your ``conf/local.conf`` file found in the |
7411 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += | 7408 | :term:`Build Directory`: INHERIT += |
7412 | "buildhistory" BUILDHISTORY_COMMIT = "0" BUILDHISTORY_FEATURES = "image" | 7409 | "buildhistory" BUILDHISTORY_COMMIT = "0" BUILDHISTORY_FEATURES = "image" |
7413 | Here, you set the | 7410 | Here, you set the |
7414 | :term:`BUILDHISTORY_FEATURES` | 7411 | :term:`BUILDHISTORY_FEATURES` |
@@ -7856,19 +7853,19 @@ You can start the tests automatically or manually: | |||
7856 | the OpenEmbedded build system successfully creates an image, first | 7853 | the OpenEmbedded build system successfully creates an image, first |
7857 | set the | 7854 | set the |
7858 | :term:`TESTIMAGE_AUTO` | 7855 | :term:`TESTIMAGE_AUTO` |
7859 | variable to "1" in your ``local.conf`` file in the `Build | 7856 | variable to "1" in your ``local.conf`` file in the |
7860 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: TESTIMAGE_AUTO = | 7857 | :term:`Build Directory`: TESTIMAGE_AUTO = |
7861 | "1" Next, build your image. If the image successfully builds, the | 7858 | "1" Next, build your image. If the image successfully builds, the |
7862 | tests run: bitbake core-image-sato | 7859 | tests run: bitbake core-image-sato |
7863 | 7860 | ||
7864 | - *Manually running tests:* To manually run the tests, first globally | 7861 | - *Manually running tests:* To manually run the tests, first globally |
7865 | inherit the | 7862 | inherit the |
7866 | ```testimage`` <&YOCTO_DOCS_REF_URL;#ref-classes-testimage*>`__ class | 7863 | :ref:`testimage <ref-classes-testimage*>` class |
7867 | by editing your ``local.conf`` file: INHERIT += "testimage" Next, use | 7864 | by editing your ``local.conf`` file: INHERIT += "testimage" Next, use |
7868 | BitBake to run the tests: bitbake -c testimage image | 7865 | BitBake to run the tests: bitbake -c testimage image |
7869 | 7866 | ||
7870 | All test files reside in ``meta/lib/oeqa/runtime`` in the `Source | 7867 | All test files reside in ``meta/lib/oeqa/runtime`` in the |
7871 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. A test name maps | 7868 | :term:`Source Directory`. A test name maps |
7872 | directly to a Python module. Each test module may contain a number of | 7869 | directly to a Python module. Each test module may contain a number of |
7873 | individual tests. Tests are usually grouped together by the area tested | 7870 | individual tests. Tests are usually grouped together by the area tested |
7874 | (e.g tests for systemd reside in ``meta/lib/oeqa/runtime/systemd.py``). | 7871 | (e.g tests for systemd reside in ``meta/lib/oeqa/runtime/systemd.py``). |
@@ -7934,8 +7931,8 @@ If your image is already built, make sure the following are set in your | |||
7934 | "IP-address-for-the-test-target" TEST_SERVER_IP = | 7931 | "IP-address-for-the-test-target" TEST_SERVER_IP = |
7935 | "IP-address-for-the-test-server" You can then export the tests with the | 7932 | "IP-address-for-the-test-server" You can then export the tests with the |
7936 | following BitBake command form: $ bitbake image -c testexport Exporting | 7933 | following BitBake command form: $ bitbake image -c testexport Exporting |
7937 | the tests places them in the `Build | 7934 | the tests places them in the |
7938 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ in | 7935 | :term:`Build Directory` in |
7939 | ``tmp/testexport/``\ image, which is controlled by the | 7936 | ``tmp/testexport/``\ image, which is controlled by the |
7940 | ``TEST_EXPORT_DIR`` variable. | 7937 | ``TEST_EXPORT_DIR`` variable. |
7941 | 7938 | ||
@@ -8158,8 +8155,8 @@ section: | |||
8158 | - "`Viewing Task Variable | 8155 | - "`Viewing Task Variable |
8159 | Dependencies <#dev-viewing-task-variable-dependencies>`__" describes | 8156 | Dependencies <#dev-viewing-task-variable-dependencies>`__" describes |
8160 | how to use the ``bitbake-dumpsig`` command in conjunction with key | 8157 | how to use the ``bitbake-dumpsig`` command in conjunction with key |
8161 | subdirectories in the `Build | 8158 | subdirectories in the |
8162 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ to determine | 8159 | :term:`Build Directory` to determine |
8163 | variable dependencies. | 8160 | variable dependencies. |
8164 | 8161 | ||
8165 | - "`Running Specific Tasks <#dev-debugging-taskrunning>`__" describes | 8162 | - "`Running Specific Tasks <#dev-debugging-taskrunning>`__" describes |
@@ -8313,7 +8310,7 @@ Following are a few of the available ``oe-pkgdata-util`` subcommands. | |||
8313 | 8310 | ||
8314 | If you want to inspect the ``${WORKDIR}/packages-split`` | 8311 | If you want to inspect the ``${WORKDIR}/packages-split`` |
8315 | directory, make sure that | 8312 | directory, make sure that |
8316 | ```rm_work`` <&YOCTO_DOCS_REF_URL;#ref-classes-rm-work>`__ is not | 8313 | :ref:`rm_work <ref-classes-rm-work>` is not |
8317 | enabled when you build the recipe. | 8314 | enabled when you build the recipe. |
8318 | 8315 | ||
8319 | - ``oe-pkgdata-util find-path ``\ path\ `` ...``: Lists the names of | 8316 | - ``oe-pkgdata-util find-path ``\ path\ `` ...``: Lists the names of |
@@ -8704,8 +8701,7 @@ the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``, | |||
8704 | and ``bbfatal``. The | 8701 | and ``bbfatal``. The |
8705 | :ref:`logging <ref-classes-logging>` class | 8702 | :ref:`logging <ref-classes-logging>` class |
8706 | implements these functions. See that class in the ``meta/classes`` | 8703 | implements these functions. See that class in the ``meta/classes`` |
8707 | folder of the `Source | 8704 | folder of the :term:`Source Directory` for information. |
8708 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ for information. | ||
8709 | 8705 | ||
8710 | Logging With Python | 8706 | Logging With Python |
8711 | ~~~~~~~~~~~~~~~~~~~ | 8707 | ~~~~~~~~~~~~~~~~~~~ |
@@ -8890,8 +8886,8 @@ to the file: tools/snep-send.$(OBJEXT): include/near/dbus.h | |||
8890 | Once you have edited the file, use the ``refresh`` command to create the | 8886 | Once you have edited the file, use the ``refresh`` command to create the |
8891 | patch: $ quilt refresh Refreshed patch patches/parallelmake.patch Once | 8887 | patch: $ quilt refresh Refreshed patch patches/parallelmake.patch Once |
8892 | the patch file exists, you need to add it back to the originating recipe | 8888 | the patch file exists, you need to add it back to the originating recipe |
8893 | folder. Here is an example assuming a top-level `Source | 8889 | folder. Here is an example assuming a top-level |
8894 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ named ``poky``: $ | 8890 | :term:`Source Directory` named ``poky``: $ |
8895 | cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard | 8891 | cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard |
8896 | The final thing you need to do to implement the fix in the build is to | 8892 | The final thing you need to do to implement the fix in the build is to |
8897 | update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the | 8893 | update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the |
@@ -9163,8 +9159,8 @@ Here are some other tips that you might find useful: | |||
9163 | virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). | 9159 | virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). |
9164 | 9160 | ||
9165 | - Removing :term:`TMPDIR` (usually | 9161 | - Removing :term:`TMPDIR` (usually |
9166 | ``tmp/``, within the `Build | 9162 | ``tmp/``, within the |
9167 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__) can often fix | 9163 | :term:`Build Directory`) can often fix |
9168 | temporary build issues. Removing ``TMPDIR`` is usually a relatively | 9164 | temporary build issues. Removing ``TMPDIR`` is usually a relatively |
9169 | cheap operation, because task output will be cached in | 9165 | cheap operation, because task output will be cached in |
9170 | :term:`SSTATE_DIR` (usually | 9166 | :term:`SSTATE_DIR` (usually |
@@ -9471,8 +9467,7 @@ repository: | |||
9471 | methods to find out: | 9467 | methods to find out: |
9472 | 9468 | ||
9473 | - *Maintenance File:* Examine the ``maintainers.inc`` file, which is | 9469 | - *Maintenance File:* Examine the ``maintainers.inc`` file, which is |
9474 | located in the `Source | 9470 | located in the :term:`Source Directory` at |
9475 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ at | ||
9476 | ``meta/conf/distro/include``, to see who is responsible for code. | 9471 | ``meta/conf/distro/include``, to see who is responsible for code. |
9477 | 9472 | ||
9478 | - *Search by File:* Using `Git <&YOCTO_DOCS_OM_URL;#git>`__, you can | 9473 | - *Search by File:* Using `Git <&YOCTO_DOCS_OM_URL;#git>`__, you can |
@@ -9495,8 +9490,8 @@ repository: | |||
9495 | The Yocto Project provides two scripts that conveniently let you | 9490 | The Yocto Project provides two scripts that conveniently let you |
9496 | generate and send pull requests to the Yocto Project. These scripts | 9491 | generate and send pull requests to the Yocto Project. These scripts |
9497 | are ``create-pull-request`` and ``send-pull-request``. You can find | 9492 | are ``create-pull-request`` and ``send-pull-request``. You can find |
9498 | these scripts in the ``scripts`` directory within the `Source | 9493 | these scripts in the ``scripts`` directory within the |
9499 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. | 9494 | :term:`Source Directory` (e.g. |
9500 | ``~/poky/scripts``). | 9495 | ``~/poky/scripts``). |
9501 | 9496 | ||
9502 | Using these scripts correctly formats the requests without | 9497 | Using these scripts correctly formats the requests without |
@@ -9641,8 +9636,8 @@ As mentioned in the "`Licensing <&YOCTO_DOCS_OM_URL;#licensing>`__" | |||
9641 | section in the Yocto Project Overview and Concepts Manual, open source | 9636 | section in the Yocto Project Overview and Concepts Manual, open source |
9642 | projects are open to the public and they consequently have different | 9637 | projects are open to the public and they consequently have different |
9643 | licensing structures in place. This section describes the mechanism by | 9638 | licensing structures in place. This section describes the mechanism by |
9644 | which the `OpenEmbedded build | 9639 | which the :term:`OpenEmbedded Build System` |
9645 | system <&YOCTO_DOCS_REF_URL;#build-system-term>`__ tracks changes to | 9640 | tracks changes to |
9646 | licensing text and covers how to maintain open source license compliance | 9641 | licensing text and covers how to maintain open source license compliance |
9647 | during your project's lifecycle. The section also describes how to | 9642 | during your project's lifecycle. The section also describes how to |
9648 | enable commercially licensed recipes, which by default are disabled. | 9643 | enable commercially licensed recipes, which by default are disabled. |
@@ -9947,8 +9942,8 @@ of compliance in mind. | |||
9947 | 9942 | ||
9948 | One way of doing this (but certainly not the only way) is to release | 9943 | One way of doing this (but certainly not the only way) is to release |
9949 | just the source as a tarball. You can do this by adding the following to | 9944 | just the source as a tarball. You can do this by adding the following to |
9950 | the ``local.conf`` file found in the `Build | 9945 | the ``local.conf`` file found in the |
9951 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += | 9946 | :term:`Build Directory`: INHERIT += |
9952 | "archiver" ARCHIVER_MODE[src] = "original" During the creation of your | 9947 | "archiver" ARCHIVER_MODE[src] = "original" During the creation of your |
9953 | image, the source from all recipes that deploy packages to the image is | 9948 | image, the source from all recipes that deploy packages to the image is |
9954 | placed within subdirectories of ``DEPLOY_DIR/sources`` based on the | 9949 | placed within subdirectories of ``DEPLOY_DIR/sources`` based on the |
@@ -10070,8 +10065,8 @@ The error reporting tool allows you to submit errors encountered during | |||
10070 | builds to a central database. Outside of the build environment, you can | 10065 | builds to a central database. Outside of the build environment, you can |
10071 | use a web interface to browse errors, view statistics, and query for | 10066 | use a web interface to browse errors, view statistics, and query for |
10072 | errors. The tool works using a client-server system where the client | 10067 | errors. The tool works using a client-server system where the client |
10073 | portion is integrated with the installed Yocto Project `Source | 10068 | portion is integrated with the installed Yocto Project |
10074 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. ``poky``). | 10069 | :term:`Source Directory` (e.g. ``poky``). |
10075 | The server receives the information collected and saves it in a | 10070 | The server receives the information collected and saves it in a |
10076 | database. | 10071 | database. |
10077 | 10072 | ||
@@ -10093,8 +10088,8 @@ By default, the error reporting tool is disabled. You can enable it by | |||
10093 | inheriting the | 10088 | inheriting the |
10094 | :ref:`report-error <ref-classes-report-error>` | 10089 | :ref:`report-error <ref-classes-report-error>` |
10095 | class by adding the following statement to the end of your | 10090 | class by adding the following statement to the end of your |
10096 | ``local.conf`` file in your `Build | 10091 | ``local.conf`` file in your |
10097 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. INHERIT += | 10092 | :term:`Build Directory`. INHERIT += |
10098 | "report-error" | 10093 | "report-error" |
10099 | 10094 | ||
10100 | By default, the error reporting feature stores information in | 10095 | By default, the error reporting feature stores information in |
@@ -10155,8 +10150,8 @@ The Yocto Project provides the Wayland protocol libraries and the | |||
10155 | reference | 10150 | reference |
10156 | `Weston <http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston>`__ | 10151 | `Weston <http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston>`__ |
10157 | compositor as part of its release. You can find the integrated packages | 10152 | compositor as part of its release. You can find the integrated packages |
10158 | in the ``meta`` layer of the `Source | 10153 | in the ``meta`` layer of the :term:`Source Directory`. |
10159 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. Specifically, you | 10154 | Specifically, you |
10160 | can find the recipes that build both Wayland and Weston at | 10155 | can find the recipes that build both Wayland and Weston at |
10161 | ``meta/recipes-graphics/wayland``. | 10156 | ``meta/recipes-graphics/wayland``. |
10162 | 10157 | ||