diff options
Diffstat (limited to 'documentation/ref-manual')
| -rw-r--r-- | documentation/ref-manual/classes.rst | 141 | ||||
| -rw-r--r-- | documentation/ref-manual/release-process.rst | 3 | ||||
| -rw-r--r-- | documentation/ref-manual/structure.rst | 9 | ||||
| -rw-r--r-- | documentation/ref-manual/system-requirements.rst | 53 | ||||
| -rw-r--r-- | documentation/ref-manual/variables.rst | 130 |
5 files changed, 266 insertions, 70 deletions
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index 45973befbe..bc7ccb8b71 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst | |||
| @@ -355,8 +355,12 @@ file for details about how to enable this mechanism in your configuration | |||
| 355 | file, how to disable it for specific recipes, and how to share ``ccache`` | 355 | file, how to disable it for specific recipes, and how to share ``ccache`` |
| 356 | files between builds. | 356 | files between builds. |
| 357 | 357 | ||
| 358 | However, using the class can lead to unexpected side-effects. Thus, using | 358 | Recipes can also explicitly disable `Ccache` support even when the |
| 359 | this class is not recommended. | 359 | :ref:`ref-classes-ccache` class is enabled, by setting the |
| 360 | :term:`CCACHE_DISABLE` variable to "1". | ||
| 361 | |||
| 362 | Using the :ref:`ref-classes-ccache` class can lead to unexpected side-effects. | ||
| 363 | Using this class is not recommended. | ||
| 360 | 364 | ||
| 361 | .. _ref-classes-chrpath: | 365 | .. _ref-classes-chrpath: |
| 362 | 366 | ||
| @@ -909,6 +913,14 @@ software that uses the GNU ``gettext`` internationalization and localization | |||
| 909 | system. All recipes building software that use ``gettext`` should inherit this | 913 | system. All recipes building software that use ``gettext`` should inherit this |
| 910 | class. | 914 | class. |
| 911 | 915 | ||
| 916 | This class will configure recipes to build translations *unless*: | ||
| 917 | |||
| 918 | - the :term:`USE_NLS` variable is set to ``no``, or | ||
| 919 | |||
| 920 | - the :term:`INHIBIT_DEFAULT_DEPS` variable is set and the recipe inheriting | ||
| 921 | the :ref:`ref-classes-gettext` class does not also inherit the | ||
| 922 | :ref:`ref-classes-cross-canadian` class. | ||
| 923 | |||
| 912 | .. _ref-classes-github-releases: | 924 | .. _ref-classes-github-releases: |
| 913 | 925 | ||
| 914 | ``github-releases`` | 926 | ``github-releases`` |
| @@ -1993,7 +2005,8 @@ a couple different ways: | |||
| 1993 | Not using this naming convention can lead to subtle problems | 2005 | Not using this naming convention can lead to subtle problems |
| 1994 | caused by existing code that depends on that naming convention. | 2006 | caused by existing code that depends on that naming convention. |
| 1995 | 2007 | ||
| 1996 | - Create or modify a target recipe that contains the following:: | 2008 | - Or, create a :ref:`ref-classes-native` variant of any target recipe (e.g. |
| 2009 | ``myrecipe.bb``) by adding the following to the recipe:: | ||
| 1997 | 2010 | ||
| 1998 | BBCLASSEXTEND = "native" | 2011 | BBCLASSEXTEND = "native" |
| 1999 | 2012 | ||
| @@ -2024,24 +2037,25 @@ couple different ways: | |||
| 2024 | inherit statement in the recipe after all other inherit statements so | 2037 | inherit statement in the recipe after all other inherit statements so |
| 2025 | that the :ref:`ref-classes-nativesdk` class is inherited last. | 2038 | that the :ref:`ref-classes-nativesdk` class is inherited last. |
| 2026 | 2039 | ||
| 2027 | - Create a :ref:`ref-classes-nativesdk` variant of any recipe by adding the following:: | 2040 | .. note:: |
| 2028 | 2041 | ||
| 2029 | BBCLASSEXTEND = "nativesdk" | 2042 | When creating a recipe, you must follow this naming convention:: |
| 2030 | 2043 | ||
| 2031 | Inside the | 2044 | nativesdk-myrecipe.bb |
| 2032 | recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to | ||
| 2033 | specify any functionality specific to the respective SDK machine or | ||
| 2034 | target case. | ||
| 2035 | 2045 | ||
| 2036 | .. note:: | ||
| 2037 | 2046 | ||
| 2038 | When creating a recipe, you must follow this naming convention:: | 2047 | Not doing so can lead to subtle problems because there is code that |
| 2048 | depends on the naming convention. | ||
| 2039 | 2049 | ||
| 2040 | nativesdk-myrecipe.bb | 2050 | - Or, create a :ref:`ref-classes-nativesdk` variant of any target recipe (e.g. |
| 2051 | ``myrecipe.bb``) by adding the following to the recipe:: | ||
| 2041 | 2052 | ||
| 2053 | BBCLASSEXTEND = "nativesdk" | ||
| 2042 | 2054 | ||
| 2043 | Not doing so can lead to subtle problems because there is code that | 2055 | Inside the |
| 2044 | depends on the naming convention. | 2056 | recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to |
| 2057 | specify any functionality specific to the respective SDK machine or | ||
| 2058 | target case. | ||
| 2045 | 2059 | ||
| 2046 | Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both | 2060 | Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both |
| 2047 | methods. The advantage of the second method is that you do not need to | 2061 | methods. The advantage of the second method is that you do not need to |
| @@ -2690,6 +2704,25 @@ The :ref:`ref-classes-recipe_sanity` class checks for the presence of any host s | |||
| 2690 | recipe prerequisites that might affect the build (e.g. variables that | 2704 | recipe prerequisites that might affect the build (e.g. variables that |
| 2691 | are set or software that is present). | 2705 | are set or software that is present). |
| 2692 | 2706 | ||
| 2707 | .. _ref-classes-relative_symlinks: | ||
| 2708 | |||
| 2709 | ``relative_symlinks`` | ||
| 2710 | ===================== | ||
| 2711 | |||
| 2712 | The :ref:`ref-classes-relative_symlinks` class walks the symbolic links in the | ||
| 2713 | :term:`D` directory and replaces links pointing to absolute paths to relative | ||
| 2714 | paths. This is occasionally used in some recipes that create wrong symbolic | ||
| 2715 | links when their :ref:`ref-classes-native` version is built, and/or would cause | ||
| 2716 | breakage in the :ref:`overview-manual/concepts:shared state cache`. | ||
| 2717 | |||
| 2718 | For example, if the following symbolic link is found in :term:`D`:: | ||
| 2719 | |||
| 2720 | /usr/bin/foo -> /sbin/bar | ||
| 2721 | |||
| 2722 | It is replaced by:: | ||
| 2723 | |||
| 2724 | /usr/bin/foo -> ../../sbin/bar | ||
| 2725 | |||
| 2693 | .. _ref-classes-relocatable: | 2726 | .. _ref-classes-relocatable: |
| 2694 | 2727 | ||
| 2695 | ``relocatable`` | 2728 | ``relocatable`` |
| @@ -3184,6 +3217,22 @@ class assuming :term:`PATCHRESOLVE` is set to "user", the | |||
| 3184 | :ref:`ref-classes-cml1` class, and the :ref:`ref-classes-devshell` class all | 3217 | :ref:`ref-classes-cml1` class, and the :ref:`ref-classes-devshell` class all |
| 3185 | use the :ref:`ref-classes-terminal` class. | 3218 | use the :ref:`ref-classes-terminal` class. |
| 3186 | 3219 | ||
| 3220 | .. _ref-classes-testexport: | ||
| 3221 | |||
| 3222 | ``testexport`` | ||
| 3223 | ============== | ||
| 3224 | |||
| 3225 | Based on the :ref:`ref-classes-testimage` class, the | ||
| 3226 | :ref:`ref-classes-testexport` class can be used to export the test environment | ||
| 3227 | outside of the :term:`OpenEmbedded Build System`. This will generate the | ||
| 3228 | directory structure to execute the runtime tests using the | ||
| 3229 | :oe_git:`runexported.py </openembedded-core/tree/meta/lib/oeqa/runexported.py>` | ||
| 3230 | Python script. | ||
| 3231 | |||
| 3232 | For more details on how to use :ref:`ref-classes-testexport`, see | ||
| 3233 | the :ref:`test-manual/runtime-testing:Exporting Tests` section in the Yocto | ||
| 3234 | Project Test Environment Manual. | ||
| 3235 | |||
| 3187 | .. _ref-classes-testimage: | 3236 | .. _ref-classes-testimage: |
| 3188 | 3237 | ||
| 3189 | ``testimage`` | 3238 | ``testimage`` |
| @@ -3314,6 +3363,9 @@ The variables used by this class are: | |||
| 3314 | - :term:`SPL_SIGN_ENABLE`: enable signing the FIT image. | 3363 | - :term:`SPL_SIGN_ENABLE`: enable signing the FIT image. |
| 3315 | - :term:`SPL_SIGN_KEYDIR`: directory containing the signing keys. | 3364 | - :term:`SPL_SIGN_KEYDIR`: directory containing the signing keys. |
| 3316 | - :term:`SPL_SIGN_KEYNAME`: base filename of the signing keys. | 3365 | - :term:`SPL_SIGN_KEYNAME`: base filename of the signing keys. |
| 3366 | - :term:`SPL_DTB_BINARY`: Name of the SPL device tree binary. Can be set to an | ||
| 3367 | empty string to indicate that no SPL should be created and added to the FIT | ||
| 3368 | image. | ||
| 3317 | - :term:`UBOOT_FIT_ADDRESS_CELLS`: ``#address-cells`` value for the FIT image. | 3369 | - :term:`UBOOT_FIT_ADDRESS_CELLS`: ``#address-cells`` value for the FIT image. |
| 3318 | - :term:`UBOOT_FIT_DESC`: description string encoded into the FIT image. | 3370 | - :term:`UBOOT_FIT_DESC`: description string encoded into the FIT image. |
| 3319 | - :term:`UBOOT_FIT_GENERATE_KEYS`: generate the keys if they don't exist yet. | 3371 | - :term:`UBOOT_FIT_GENERATE_KEYS`: generate the keys if they don't exist yet. |
| @@ -3342,22 +3394,51 @@ imitates. | |||
| 3342 | ``uninative`` | 3394 | ``uninative`` |
| 3343 | ============= | 3395 | ============= |
| 3344 | 3396 | ||
| 3345 | Attempts to isolate the build system from the host distribution's C | 3397 | The :ref:`ref-classes-uninative` class allows binaries to run on systems with |
| 3346 | library in order to make re-use of native shared state artifacts across | 3398 | older or newer :wikipedia:`Glibc <Glibc>` versions. This means |
| 3347 | different host distributions practical. With this class enabled, a | 3399 | :ref:`ref-classes-native` recipe :ref:`overview-manual/concepts:shared state |
| 3348 | tarball containing a pre-built C library is downloaded at the start of | 3400 | cache` can be shared among different host distributions of different versions, |
| 3349 | the build. In the Poky reference distribution this is enabled by default | 3401 | i.e. the :ref:`overview-manual/concepts:shared state cache` is "universal". |
| 3350 | through ``meta/conf/distro/include/yocto-uninative.inc``. Other | 3402 | |
| 3351 | distributions that do not derive from poky can also | 3403 | To allow this to work, the dynamic loader is changed to our own :manpage:`ld.so |
| 3352 | "``require conf/distro/include/yocto-uninative.inc``" to use this. | 3404 | <ld.so.8>` when binaries are compiled using the |
| 3353 | Alternatively if you prefer, you can build the uninative-tarball recipe | 3405 | ``--dynamic-linker`` option. This means when the binary is executed, it finds |
| 3354 | yourself, publish the resulting tarball (e.g. via HTTP) and set | 3406 | our own :manpage:`ld.so <ld.so.8>` and that loader has a modified search path |
| 3355 | ``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an | 3407 | which finds a newer Glibc version. |
| 3356 | example, see the ``meta/conf/distro/include/yocto-uninative.inc``. | 3408 | |
| 3357 | 3409 | The linking of the binaries is not changed at link time since the | |
| 3358 | The :ref:`ref-classes-uninative` class is also used unconditionally by the extensible | 3410 | headers on the system wouldn't match the newer Glibc and this causes |
| 3359 | SDK. When building the extensible SDK, ``uninative-tarball`` is built | 3411 | obtuse failures. Changing the loader is effectively the same as if the |
| 3360 | and the resulting tarball is included within the SDK. | 3412 | system had a Glibc upgrade after the binary was compiled, so it is a |
| 3413 | mechanism supported by upstream. | ||
| 3414 | |||
| 3415 | One caveat to this approach is that the uninative Glibc binary must be | ||
| 3416 | equal to or newer in version to the versions on all the systems using | ||
| 3417 | the common :ref:`overview-manual/concepts:shared state cache`. This is why | ||
| 3418 | :ref:`ref-classes-uninative` is regularly changed on the development and stable | ||
| 3419 | branches. | ||
| 3420 | |||
| 3421 | Another potential issue is static linking: static libraries created on | ||
| 3422 | a system with a new Glibc version may have symbols not present in older | ||
| 3423 | versions, which would then fail during linking on older systems. This | ||
| 3424 | is one reason we don't use static linking for our :ref:`ref-classes-native` | ||
| 3425 | binaries. | ||
| 3426 | |||
| 3427 | With this class enabled, a tarball containing a pre-built C library is | ||
| 3428 | downloaded at the start of the build. In the Poky reference distribution this is | ||
| 3429 | enabled by default through :oe_git:`meta/conf/distro/include/yocto-uninative.inc | ||
| 3430 | </openembedded-core/tree/meta/conf/distro/include/yocto-uninative.inc>`. Other distributions that do | ||
| 3431 | not derive from Poky can also "``require conf/distro/include/yocto-uninative.inc``" | ||
| 3432 | to use this. Alternatively if you prefer, you can build the uninative-tarball | ||
| 3433 | recipe yourself, publish the resulting tarball (e.g. via HTTP) and set | ||
| 3434 | :term:`UNINATIVE_URL` and :term:`UNINATIVE_CHECKSUM` appropriately. For an | ||
| 3435 | example, see :oe_git:`meta/conf/distro/include/yocto-uninative.inc | ||
| 3436 | </openembedded-core/tree/meta/conf/distro/include/yocto-uninative.inc>`. | ||
| 3437 | |||
| 3438 | The :ref:`ref-classes-uninative` class is also used unconditionally by the | ||
| 3439 | :doc:`extensible SDK </sdk-manual/extensible>`. When building the extensible | ||
| 3440 | SDK, ``uninative-tarball`` is built and the resulting tarball is included within | ||
| 3441 | the SDK. | ||
| 3361 | 3442 | ||
| 3362 | .. _ref-classes-update-alternatives: | 3443 | .. _ref-classes-update-alternatives: |
| 3363 | 3444 | ||
diff --git a/documentation/ref-manual/release-process.rst b/documentation/ref-manual/release-process.rst index 639921b9f6..8263548448 100644 --- a/documentation/ref-manual/release-process.rst +++ b/documentation/ref-manual/release-process.rst | |||
| @@ -62,7 +62,8 @@ codename are likely to be compatible and thus work together. | |||
| 62 | 62 | ||
| 63 | Releases are given a nominal release version as well but the codename is | 63 | Releases are given a nominal release version as well but the codename is |
| 64 | used in repositories for this reason. You can find information on Yocto | 64 | used in repositories for this reason. You can find information on Yocto |
| 65 | Project releases and codenames at :yocto_wiki:`/Releases`. | 65 | Project releases and codenames in the :yocto_home:`Releases page |
| 66 | </development/releases/>`. | ||
| 66 | 67 | ||
| 67 | Our :doc:`/migration-guides/index` detail how to migrate from one release of | 68 | Our :doc:`/migration-guides/index` detail how to migrate from one release of |
| 68 | the Yocto Project to the next. | 69 | the Yocto Project to the next. |
diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst index 2190f5b90e..b92d9bb411 100644 --- a/documentation/ref-manual/structure.rst +++ b/documentation/ref-manual/structure.rst | |||
| @@ -344,6 +344,15 @@ This configuration file is generated by :doc:`bblock </dev-manual/bblock>` and | |||
| 344 | contains the signatures locked by ``bblock``. By default, it does not exist | 344 | contains the signatures locked by ``bblock``. By default, it does not exist |
| 345 | and will be created upon the first invocation of ``bblock``. | 345 | and will be created upon the first invocation of ``bblock``. |
| 346 | 346 | ||
| 347 | .. _structure-build-conf-auto.conf: | ||
| 348 | |||
| 349 | ``build/conf/auto.conf`` | ||
| 350 | ------------------------ | ||
| 351 | |||
| 352 | This file contains configuration variables that are automatically modified by | ||
| 353 | tools such as :oe_git:`bitbake-config-build </bitbake/tree/bin/bitbake-config-build>`. | ||
| 354 | This file should not be modified manually. | ||
| 355 | |||
| 347 | .. _structure-build-downloads: | 356 | .. _structure-build-downloads: |
| 348 | 357 | ||
| 349 | ``build/downloads/`` | 358 | ``build/downloads/`` |
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index b22572c6b4..ad7c70727a 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst | |||
| @@ -58,36 +58,35 @@ Supported Linux Distributions | |||
| 58 | Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is | 58 | Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is |
| 59 | supported on the following distributions: | 59 | supported on the following distributions: |
| 60 | 60 | ||
| 61 | - Ubuntu 20.04 (LTS) | 61 | .. |
| 62 | 62 | Can be generated with yocto-autobuilder-helper's scripts/yocto-supported-distros: | |
| 63 | - Ubuntu 22.04 (LTS) | 63 | yocto-supported-distros --release scarthgap --config yocto-autobuilder2/config.py --output-format docs --poky-distros |
| 64 | |||
| 65 | - Ubuntu 23.04 | ||
| 66 | |||
| 67 | - Fedora 38 | ||
| 68 | |||
| 69 | - Fedora 39 | ||
| 70 | |||
| 71 | - CentOS Stream 8 | ||
| 72 | |||
| 73 | - Debian GNU/Linux 11 (Bullseye) | ||
| 74 | |||
| 75 | - Debian GNU/Linux 12 (Bookworm) | ||
| 76 | |||
| 77 | - OpenSUSE Leap 15.4 | ||
| 78 | 64 | ||
| 79 | - AlmaLinux 8 | 65 | - AlmaLinux 8 |
| 80 | |||
| 81 | - AlmaLinux 9 | 66 | - AlmaLinux 9 |
| 82 | 67 | - Debian 11 | |
| 83 | - Rocky 9 | 68 | - Debian 12 |
| 69 | - Fedora 39 | ||
| 70 | - Fedora 40 | ||
| 71 | - Fedora 41 | ||
| 72 | - Rocky Linux 8 | ||
| 73 | - Rocky Linux 9 | ||
| 74 | - Ubuntu 20.04 (LTS) | ||
| 75 | - Ubuntu 22.04 (LTS) | ||
| 76 | - Ubuntu 24.04 (LTS) | ||
| 77 | - Ubuntu 24.10 | ||
| 84 | 78 | ||
| 85 | The following distribution versions are still tested, even though the | 79 | The following distribution versions are still tested, even though the |
| 86 | organizations publishing them no longer make updates publicly available: | 80 | organizations publishing them no longer make updates publicly available: |
| 87 | 81 | ||
| 88 | - Ubuntu 18.04 (LTS) | 82 | .. |
| 83 | This list contains EOL distros that are still tested on the Autobuilder | ||
| 84 | (meaning there are running workers). | ||
| 85 | See https://endoflife.date for information of EOL releases. | ||
| 89 | 86 | ||
| 90 | - Ubuntu 23.04 | 87 | - Fedora 39 |
| 88 | - Fedora 40 | ||
| 89 | - Ubuntu 20.04 (LTS) | ||
| 91 | 90 | ||
| 92 | Note that the Yocto Project doesn't have access to private updates | 91 | Note that the Yocto Project doesn't have access to private updates |
| 93 | that some of these versions may have. Therefore, our testing has | 92 | that some of these versions may have. Therefore, our testing has |
| @@ -96,7 +95,15 @@ limited value if you have access to such updates. | |||
| 96 | Finally, here are the distribution versions which were previously | 95 | Finally, here are the distribution versions which were previously |
| 97 | tested on former revisions of "&DISTRO_NAME;", but no longer are: | 96 | tested on former revisions of "&DISTRO_NAME;", but no longer are: |
| 98 | 97 | ||
| 99 | *This list is currently empty* | 98 | .. |
| 99 | Can be generated with yocto-autobuilder-helper's scripts/yocto-supported-distros. | ||
| 100 | yocto-supported-distros --release scarthgap --config yocto-autobuilder2/config.py --output-format docs --old-distros | ||
| 101 | |||
| 102 | - CentOS Stream 8 | ||
| 103 | - Fedora 38 | ||
| 104 | - OpenSUSE Leap 15.4 | ||
| 105 | - Ubuntu 18.04 | ||
| 106 | - Ubuntu 23.04 | ||
| 100 | 107 | ||
| 101 | .. note:: | 108 | .. note:: |
| 102 | 109 | ||
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index 9406f3548c..5b4561fc12 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst | |||
| @@ -1458,6 +1458,11 @@ system and gives an overview of their function and contents. | |||
| 1458 | :term:`CC` | 1458 | :term:`CC` |
| 1459 | The minimal command and arguments used to run the C compiler. | 1459 | The minimal command and arguments used to run the C compiler. |
| 1460 | 1460 | ||
| 1461 | :term:`CCACHE_DISABLE` | ||
| 1462 | When inheriting the :ref:`ref-classes-ccache` class, the | ||
| 1463 | :term:`CCACHE_DISABLE` variable can be set to "1" in a recipe to disable | ||
| 1464 | `Ccache` support. This is useful when the recipe is known to not support it. | ||
| 1465 | |||
| 1461 | :term:`CCLD` | 1466 | :term:`CCLD` |
| 1462 | The minimal command and arguments used to run the linker when the C | 1467 | The minimal command and arguments used to run the linker when the C |
| 1463 | compiler is being used as the linker. | 1468 | compiler is being used as the linker. |
| @@ -3270,6 +3275,10 @@ system and gives an overview of their function and contents. | |||
| 3270 | 3275 | ||
| 3271 | This variable is used in the :ref:`ref-classes-kernel-fitimage` class. | 3276 | This variable is used in the :ref:`ref-classes-kernel-fitimage` class. |
| 3272 | 3277 | ||
| 3278 | :term:`FIT_CONF_PREFIX` | ||
| 3279 | When using the :ref:`ref-classes-kernel-fitimage`, this is the prefix | ||
| 3280 | used for creating FIT configuration nodes. Its default value is "conf-". | ||
| 3281 | |||
| 3273 | :term:`FIT_DESC` | 3282 | :term:`FIT_DESC` |
| 3274 | Specifies the description string encoded into a FIT image. The | 3283 | Specifies the description string encoded into a FIT image. The |
| 3275 | default value is set by the :ref:`ref-classes-kernel-fitimage` class as | 3284 | default value is set by the :ref:`ref-classes-kernel-fitimage` class as |
| @@ -4075,14 +4084,20 @@ system and gives an overview of their function and contents. | |||
| 4075 | added to the image by using the :term:`IMAGE_ROOTFS_EXTRA_SPACE` | 4084 | added to the image by using the :term:`IMAGE_ROOTFS_EXTRA_SPACE` |
| 4076 | variable. | 4085 | variable. |
| 4077 | 4086 | ||
| 4087 | When using Wic tool, beware that a second overhead factor is also applied. | ||
| 4088 | This overhead value is defined by the ``--overhead-factor`` option, which | ||
| 4089 | defaults to "1.3" when omitted. See the | ||
| 4090 | :ref:`ref-manual/kickstart:command: part or partition` chapter in | ||
| 4091 | :doc:`/ref-manual/kickstart` for details. | ||
| 4092 | |||
| 4078 | :term:`IMAGE_PKGTYPE` | 4093 | :term:`IMAGE_PKGTYPE` |
| 4079 | Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the | 4094 | Defines the package type (i.e. DEB, RPM or IPK) used by the |
| 4080 | OpenEmbedded build system. The variable is defined appropriately by | 4095 | OpenEmbedded build system. The variable is defined appropriately by |
| 4081 | the :ref:`ref-classes-package_deb`, :ref:`ref-classes-package_rpm`, | 4096 | one of the :ref:`ref-classes-package_deb`, :ref:`ref-classes-package_rpm`, |
| 4082 | or :ref:`ref-classes-package_ipk` class. | 4097 | or :ref:`ref-classes-package_ipk` classes. |
| 4083 | 4098 | ||
| 4084 | The :ref:`ref-classes-populate-sdk-*` and :ref:`ref-classes-image` | 4099 | The :ref:`ref-classes-populate-sdk-*` and :ref:`ref-classes-image` |
| 4085 | classes use the :term:`IMAGE_PKGTYPE` for packaging up images and SDKs. | 4100 | classes use the :term:`IMAGE_PKGTYPE` for packaging images and SDKs. |
| 4086 | 4101 | ||
| 4087 | You should not set the :term:`IMAGE_PKGTYPE` manually. Rather, the | 4102 | You should not set the :term:`IMAGE_PKGTYPE` manually. Rather, the |
| 4088 | variable is set indirectly through the appropriate | 4103 | variable is set indirectly through the appropriate |
| @@ -4091,12 +4106,6 @@ system and gives an overview of their function and contents. | |||
| 4091 | OpenEmbedded build system uses the first package type (e.g. DEB, RPM, | 4106 | OpenEmbedded build system uses the first package type (e.g. DEB, RPM, |
| 4092 | or IPK) that appears with the variable | 4107 | or IPK) that appears with the variable |
| 4093 | 4108 | ||
| 4094 | .. note:: | ||
| 4095 | |||
| 4096 | Files using the ``.tar`` format are never used as a substitute | ||
| 4097 | packaging format for DEB, RPM, and IPK formatted files for your image | ||
| 4098 | or SDK. | ||
| 4099 | |||
| 4100 | :term:`IMAGE_POSTPROCESS_COMMAND` | 4109 | :term:`IMAGE_POSTPROCESS_COMMAND` |
| 4101 | Specifies a list of functions to call once the OpenEmbedded build | 4110 | Specifies a list of functions to call once the OpenEmbedded build |
| 4102 | system creates the final image output files. You can specify | 4111 | system creates the final image output files. You can specify |
| @@ -4772,8 +4781,7 @@ system and gives an overview of their function and contents. | |||
| 4772 | would place patch files and configuration fragment files (i.e. | 4781 | would place patch files and configuration fragment files (i.e. |
| 4773 | "out-of-tree"). However, if you want to use a ``defconfig`` file that | 4782 | "out-of-tree"). However, if you want to use a ``defconfig`` file that |
| 4774 | is part of the kernel tree (i.e. "in-tree"), you can use the | 4783 | is part of the kernel tree (i.e. "in-tree"), you can use the |
| 4775 | :term:`KBUILD_DEFCONFIG` variable and append the | 4784 | :term:`KBUILD_DEFCONFIG` variable to point to the |
| 4776 | :term:`KMACHINE` variable to point to the | ||
| 4777 | ``defconfig`` file. | 4785 | ``defconfig`` file. |
| 4778 | 4786 | ||
| 4779 | To use the variable, set it in the append file for your kernel recipe | 4787 | To use the variable, set it in the append file for your kernel recipe |
| @@ -5111,6 +5119,27 @@ system and gives an overview of their function and contents. | |||
| 5111 | the :term:`KERNEL_PATH` variable. Both variables are common variables | 5119 | the :term:`KERNEL_PATH` variable. Both variables are common variables |
| 5112 | used by external Makefiles to point to the kernel source directory. | 5120 | used by external Makefiles to point to the kernel source directory. |
| 5113 | 5121 | ||
| 5122 | :term:`KERNEL_SPLIT_MODULES` | ||
| 5123 | When inheriting the :ref:`ref-classes-kernel-module-split` class, this | ||
| 5124 | variable controls whether kernel modules are split into separate packages | ||
| 5125 | or bundled into a single package. | ||
| 5126 | |||
| 5127 | For some use cases, a monolithic kernel module package | ||
| 5128 | :term:`KERNEL_PACKAGE_NAME` that contains all modules built from the | ||
| 5129 | kernel sources may be preferred to speed up the installation. | ||
| 5130 | |||
| 5131 | By default, this variable is set to ``1``, resulting in one package per | ||
| 5132 | module. Setting it to any other value will generate a single monolithic | ||
| 5133 | package containing all kernel modules. | ||
| 5134 | |||
| 5135 | .. note:: | ||
| 5136 | |||
| 5137 | If :term:`KERNEL_SPLIT_MODULES` is set to 0, it is still possible to | ||
| 5138 | install all kernel modules at once by adding ``kernel-modules`` (assuming | ||
| 5139 | :term:`KERNEL_PACKAGE_NAME` is ``kernel-modules``) to :term:`IMAGE_INSTALL`. | ||
| 5140 | The way it works is that a placeholder "kernel-modules" package will be | ||
| 5141 | created and will depend on every other individual kernel module packages. | ||
| 5142 | |||
| 5114 | :term:`KERNEL_SRC` | 5143 | :term:`KERNEL_SRC` |
| 5115 | The location of the kernel sources. This variable is set to the value | 5144 | The location of the kernel sources. This variable is set to the value |
| 5116 | of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module` | 5145 | of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module` |
| @@ -5200,7 +5229,7 @@ system and gives an overview of their function and contents. | |||
| 5200 | information on how this variable is used. | 5229 | information on how this variable is used. |
| 5201 | 5230 | ||
| 5202 | :term:`LAYERDEPENDS` | 5231 | :term:`LAYERDEPENDS` |
| 5203 | Lists the layers, separated by spaces, on which this recipe depends. | 5232 | Lists the layers, separated by spaces, on which this layer depends. |
| 5204 | Optionally, you can specify a specific layer version for a dependency | 5233 | Optionally, you can specify a specific layer version for a dependency |
| 5205 | by adding it to the end of the layer name. Here is an example:: | 5234 | by adding it to the end of the layer name. Here is an example:: |
| 5206 | 5235 | ||
| @@ -6143,8 +6172,8 @@ system and gives an overview of their function and contents. | |||
| 6143 | 6172 | ||
| 6144 | .. note:: | 6173 | .. note:: |
| 6145 | 6174 | ||
| 6146 | An easy way to see what overrides apply is to search for :term:`OVERRIDES` | 6175 | An easy way to see what overrides apply is to run the command |
| 6147 | in the output of the ``bitbake -e`` command. See the | 6176 | ``bitbake-getvar -r myrecipe OVERRIDES``. See the |
| 6148 | ":ref:`dev-manual/debugging:viewing variable values`" section in the Yocto | 6177 | ":ref:`dev-manual/debugging:viewing variable values`" section in the Yocto |
| 6149 | Project Development Tasks Manual for more information. | 6178 | Project Development Tasks Manual for more information. |
| 6150 | 6179 | ||
| @@ -7414,6 +7443,16 @@ system and gives an overview of their function and contents. | |||
| 7414 | :term:`REPODIR` | 7443 | :term:`REPODIR` |
| 7415 | See :term:`bitbake:REPODIR` in the BitBake manual. | 7444 | See :term:`bitbake:REPODIR` in the BitBake manual. |
| 7416 | 7445 | ||
| 7446 | :term:`REQUIRED_COMBINED_FEATURES` | ||
| 7447 | When inheriting the :ref:`ref-classes-features_check` class, this variable | ||
| 7448 | identifies combined features (the intersection of :term:`MACHINE_FEATURES` | ||
| 7449 | and :term:`DISTRO_FEATURES`) that must exist in the current configuration | ||
| 7450 | in order for the :term:`OpenEmbedded Build System` to build the recipe. In | ||
| 7451 | other words, if the :term:`REQUIRED_COMBINED_FEATURES` variable lists a | ||
| 7452 | feature that does not appear in :term:`COMBINED_FEATURES` within the | ||
| 7453 | current configuration, then the recipe will be skipped, and if the build | ||
| 7454 | system attempts to build the recipe then an error will be triggered. | ||
| 7455 | |||
| 7417 | :term:`REQUIRED_DISTRO_FEATURES` | 7456 | :term:`REQUIRED_DISTRO_FEATURES` |
| 7418 | When inheriting the :ref:`ref-classes-features_check` | 7457 | When inheriting the :ref:`ref-classes-features_check` |
| 7419 | class, this variable identifies distribution features that must exist | 7458 | class, this variable identifies distribution features that must exist |
| @@ -7424,6 +7463,32 @@ system and gives an overview of their function and contents. | |||
| 7424 | the recipe will be skipped, and if the build system attempts to build | 7463 | the recipe will be skipped, and if the build system attempts to build |
| 7425 | the recipe then an error will be triggered. | 7464 | the recipe then an error will be triggered. |
| 7426 | 7465 | ||
| 7466 | :term:`REQUIRED_IMAGE_FEATURES` | ||
| 7467 | When inheriting the :ref:`ref-classes-features_check` class, this variable | ||
| 7468 | identifies image features that must exist in the current | ||
| 7469 | configuration in order for the :term:`OpenEmbedded Build System` to build | ||
| 7470 | the recipe. In other words, if the :term:`REQUIRED_IMAGE_FEATURES` variable | ||
| 7471 | lists a feature that does not appear in :term:`IMAGE_FEATURES` within the | ||
| 7472 | current configuration, then the recipe will be skipped, and if the build | ||
| 7473 | system attempts to build the recipe then an error will be triggered. | ||
| 7474 | |||
| 7475 | Compared to other ``REQUIRED_*_FEATURES`` variables, the | ||
| 7476 | :term:`REQUIRED_IMAGE_FEATURES` varible only targets image recipes, as the | ||
| 7477 | :term:`IMAGE_FEATURES` variable is handled by the :ref:`ref-classes-core-image` | ||
| 7478 | class). However, the :term:`REQUIRED_IMAGE_FEATURES` varible can also be | ||
| 7479 | set from a :term:`Configuration File`, such as a distro | ||
| 7480 | configuration file, if the list of required image features should apply to | ||
| 7481 | all images using this :term:`DISTRO`. | ||
| 7482 | |||
| 7483 | :term:`REQUIRED_MACHINE_FEATURES` | ||
| 7484 | When inheriting the :ref:`ref-classes-features_check` class, this variable | ||
| 7485 | identifies :term:`MACHINE_FEATURES` that must exist in the current | ||
| 7486 | configuration in order for the :term:`OpenEmbedded Build System` to build | ||
| 7487 | the recipe. In other words, if the :term:`REQUIRED_MACHINE_FEATURES` variable | ||
| 7488 | lists a feature that does not appear in :term:`MACHINE_FEATURES` within the | ||
| 7489 | current configuration, then the recipe will be skipped, and if the build | ||
| 7490 | system attempts to build the recipe then an error will be triggered. | ||
| 7491 | |||
| 7427 | :term:`REQUIRED_VERSION` | 7492 | :term:`REQUIRED_VERSION` |
| 7428 | If there are multiple versions of a recipe available, this variable | 7493 | If there are multiple versions of a recipe available, this variable |
| 7429 | determines which version should be given preference. | 7494 | determines which version should be given preference. |
| @@ -8430,6 +8495,11 @@ system and gives an overview of their function and contents. | |||
| 8430 | section in the Yocto Project Board Support Package Developer's Guide | 8495 | section in the Yocto Project Board Support Package Developer's Guide |
| 8431 | for additional information. | 8496 | for additional information. |
| 8432 | 8497 | ||
| 8498 | :term:`SPL_DTB_BINARY` | ||
| 8499 | When inheriting the :ref:`ref-classes-uboot-sign` class, the | ||
| 8500 | :term:`SPL_DTB_BINARY` variable contains the name of the SPL binary to be | ||
| 8501 | compiled. | ||
| 8502 | |||
| 8433 | :term:`SPL_MKIMAGE_DTCOPTS` | 8503 | :term:`SPL_MKIMAGE_DTCOPTS` |
| 8434 | Options for the device tree compiler passed to ``mkimage -D`` feature | 8504 | Options for the device tree compiler passed to ``mkimage -D`` feature |
| 8435 | while creating a FIT image with the :ref:`ref-classes-uboot-sign` | 8505 | while creating a FIT image with the :ref:`ref-classes-uboot-sign` |
| @@ -8799,7 +8869,7 @@ system and gives an overview of their function and contents. | |||
| 8799 | directory for the build host. | 8869 | directory for the build host. |
| 8800 | 8870 | ||
| 8801 | :term:`STAGING_DIR` | 8871 | :term:`STAGING_DIR` |
| 8802 | Helps construct the ``recipe-sysroots`` directory, which is used | 8872 | Helps construct the ``recipe-sysroot*`` directories, which are used |
| 8803 | during packaging. | 8873 | during packaging. |
| 8804 | 8874 | ||
| 8805 | For information on how staging for recipe-specific sysroots occurs, | 8875 | For information on how staging for recipe-specific sysroots occurs, |
| @@ -10149,6 +10219,22 @@ system and gives an overview of their function and contents. | |||
| 10149 | passes and uses "all" for the target during the U-Boot building | 10219 | passes and uses "all" for the target during the U-Boot building |
| 10150 | process. | 10220 | process. |
| 10151 | 10221 | ||
| 10222 | :term:`UNINATIVE_CHECKSUM` | ||
| 10223 | When inheriting the :ref:`ref-classes-uninative` class, the | ||
| 10224 | :term:`UNINATIVE_CHECKSUM` variable flags contain the checksums of the | ||
| 10225 | uninative tarball as specified by the :term:`UNINATIVE_URL` variable. | ||
| 10226 | There should be one checksum per tarballs published at | ||
| 10227 | :term:`UNINATIVE_URL`, which match architectures. For example:: | ||
| 10228 | |||
| 10229 | UNINATIVE_CHECKSUM[aarch64] ?= "812045d826b7fda88944055e8526b95a5a9440bfef608d5b53fd52faab49bf85" | ||
| 10230 | UNINATIVE_CHECKSUM[i686] ?= "5cc28efd0c15a75de4bcb147c6cce65f1c1c9d442173a220f08427f40a3ffa09" | ||
| 10231 | UNINATIVE_CHECKSUM[x86_64] ?= "4c03d1ed2b7b4e823aca4a1a23d8f2e322f1770fc10e859adcede5777aff4f3a" | ||
| 10232 | |||
| 10233 | :term:`UNINATIVE_URL` | ||
| 10234 | When inheriting the :ref:`ref-classes-uninative` class, the | ||
| 10235 | :term:`UNINATIVE_URL` variable contains the URL where the uninative | ||
| 10236 | tarballs are published. | ||
| 10237 | |||
| 10152 | :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` | 10238 | :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` |
| 10153 | Specifies a list of options that, if reported by the configure script | 10239 | Specifies a list of options that, if reported by the configure script |
| 10154 | as being invalid, should not generate a warning during the | 10240 | as being invalid, should not generate a warning during the |
| @@ -10239,6 +10325,18 @@ system and gives an overview of their function and contents. | |||
| 10239 | the Yocto Project Development Tasks Manual for information on how to | 10325 | the Yocto Project Development Tasks Manual for information on how to |
| 10240 | use this variable. | 10326 | use this variable. |
| 10241 | 10327 | ||
| 10328 | :term:`USE_NLS` | ||
| 10329 | Determine if language translations should be built for recipes that can | ||
| 10330 | build them. This variable can be equal to: | ||
| 10331 | |||
| 10332 | - ``yes``: translations are enabled. | ||
| 10333 | - ``no``: translation are disabled. | ||
| 10334 | |||
| 10335 | Recipes can use the value of this variable to enable language | ||
| 10336 | translations in their build. Classes such as :ref:`ref-classes-gettext` | ||
| 10337 | use the value of this variable to enable :wikipedia:`Gettext <Gettext>` | ||
| 10338 | support. | ||
| 10339 | |||
| 10242 | :term:`USE_VT` | 10340 | :term:`USE_VT` |
| 10243 | When using | 10341 | When using |
| 10244 | :ref:`SysVinit <dev-manual/new-recipe:enabling system services>`, | 10342 | :ref:`SysVinit <dev-manual/new-recipe:enabling system services>`, |
