summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/ref-variables.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/ref-variables.rst')
-rw-r--r--documentation/ref-manual/ref-variables.rst76
1 files changed, 69 insertions, 7 deletions
diff --git a/documentation/ref-manual/ref-variables.rst b/documentation/ref-manual/ref-variables.rst
index a8375cd37c..227c81fc39 100644
--- a/documentation/ref-manual/ref-variables.rst
+++ b/documentation/ref-manual/ref-variables.rst
@@ -3337,9 +3337,18 @@ system and gives an overview of their function and contents.
3337 :term:`INCOMPATIBLE_LICENSE` 3337 :term:`INCOMPATIBLE_LICENSE`
3338 Specifies a space-separated list of license names (as they would 3338 Specifies a space-separated list of license names (as they would
3339 appear in :term:`LICENSE`) that should be excluded 3339 appear in :term:`LICENSE`) that should be excluded
3340 from the build. Recipes that provide no alternatives to listed 3340 from the build (if set globally), or from an image (if set locally
3341 in an image recipe).
3342
3343 When the variable is set globally, recipes that provide no alternatives to listed
3341 incompatible licenses are not built. Packages that are individually 3344 incompatible licenses are not built. Packages that are individually
3342 licensed with the specified incompatible licenses will be deleted. 3345 licensed with the specified incompatible licenses will be deleted.
3346 Most of the time this does not allow a feasible build (because it becomes impossible
3347 to satisfy build time dependencies), so the recommended way to
3348 implement license restrictions is to set the variable in specific
3349 image recipes where the restrictions must apply. That way there
3350 are no build time restrictions, but the license check is still
3351 performed when the image's filesystem is assembled from packages.
3343 3352
3344 .. note:: 3353 .. note::
3345 3354
@@ -3811,6 +3820,15 @@ system and gives an overview of their function and contents.
3811 3820
3812 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3821 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
3813 3822
3823 :term:`KERNEL_DTC_FLAGS`
3824 Specifies the ``dtc`` flags that are passed to the Linux kernel build
3825 system when generating the device trees (via ``DTC_FLAGS`` environment
3826 variable).
3827
3828 In order to use this variable, the
3829 :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class must
3830 be inherited.
3831
3814 :term:`KERNEL_EXTRA_ARGS` 3832 :term:`KERNEL_EXTRA_ARGS`
3815 Specifies additional ``make`` command-line arguments the OpenEmbedded 3833 Specifies additional ``make`` command-line arguments the OpenEmbedded
3816 build system passes on when compiling the kernel. 3834 build system passes on when compiling the kernel.
@@ -3837,10 +3855,10 @@ system and gives an overview of their function and contents.
3837 :: 3855 ::
3838 3856
3839 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" 3857 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
3840 KERNEL_FEATURES_append = "${KERNEL_EXTRA_FEATURES}" 3858 KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
3841 KERNEL_FEATURES_append_qemuall = "cfg/virtio.scc" 3859 KERNEL_FEATURES_append_qemuall = " cfg/virtio.scc"
3842 KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc" 3860 KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
3843 KERNEL_FEATURES_append_qemux86-64 = "cfg/sound.scc" 3861 KERNEL_FEATURES_append_qemux86-64 = " cfg/sound.scc"
3844 3862
3845 :term:`KERNEL_FIT_LINK_NAME` 3863 :term:`KERNEL_FIT_LINK_NAME`
3846 The link name of the kernel flattened image tree (FIT) image. This 3864 The link name of the kernel flattened image tree (FIT) image. This
@@ -4039,7 +4057,7 @@ system and gives an overview of their function and contents.
4039 SRCREV_machine_core2-32-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711" 4057 SRCREV_machine_core2-32-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711"
4040 KMACHINE_core2-32-intel-common = "intel-core2-32" 4058 KMACHINE_core2-32-intel-common = "intel-core2-32"
4041 KBRANCH_core2-32-intel-common = "standard/base" 4059 KBRANCH_core2-32-intel-common = "standard/base"
4042 KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" 4060 KERNEL_FEATURES_append_core2-32-intel-common = " ${KERNEL_FEATURES_INTEL_COMMON}"
4043 4061
4044 The ``KMACHINE`` statement says 4062 The ``KMACHINE`` statement says
4045 that the kernel understands the machine name as "intel-core2-32". 4063 that the kernel understands the machine name as "intel-core2-32".
@@ -7138,6 +7156,32 @@ system and gives an overview of their function and contents.
7138 :term:`SSTATE_DIR` 7156 :term:`SSTATE_DIR`
7139 The directory for the shared state cache. 7157 The directory for the shared state cache.
7140 7158
7159 :term:`SSTATE_EXCLUDEDEPS_SYSROOT`
7160 This variable allows to specify indirect dependencies to exclude
7161 from sysroots, for example to avoid the situations when a dependency on
7162 any ``-native`` recipe will pull in all dependencies of that recipe
7163 in the recipe sysroot. This behaviour might not always be wanted,
7164 for example when that ``-native`` recipe depends on build tools
7165 that are not relevant for the current recipe.
7166
7167 This way, irrelevant dependencies are ignored, which could have
7168 prevented the reuse of prebuilt artifacts stored in the Shared
7169 State Cache.
7170
7171 :term:`SSTATE_EXCLUDEDEPS_SYSROOT` is evaluated as two regular
7172 expressions of recipe and dependency to ignore. An example
7173 is the rule in :oe_git:`meta/conf/layer.conf </openembedded-core/tree/meta/conf/layer.conf>`::
7174
7175 # Nothing needs to depend on libc-initial
7176 # base-passwd/shadow-sysroot don't need their dependencies
7177 SSTATE_EXCLUDEDEPS_SYSROOT += "\
7178 .*->.*-initial.* \
7179 .*(base-passwd|shadow-sysroot)->.* \
7180 "
7181
7182 The ``->`` substring represents the dependency between
7183 the two regular expressions.
7184
7141 :term:`SSTATE_MIRROR_ALLOW_NETWORK` 7185 :term:`SSTATE_MIRROR_ALLOW_NETWORK`
7142 If set to "1", allows fetches from mirrors that are specified in 7186 If set to "1", allows fetches from mirrors that are specified in
7143 :term:`SSTATE_MIRRORS` to work even when 7187 :term:`SSTATE_MIRRORS` to work even when
@@ -7533,7 +7577,7 @@ system and gives an overview of their function and contents.
7533 ``SYSTEMD_BOOT_CFG`` as follows: 7577 ``SYSTEMD_BOOT_CFG`` as follows:
7534 :: 7578 ::
7535 7579
7536 SYSTEMD_BOOT_CFG ?= "${:term:`S`}/loader.conf" 7580 SYSTEMD_BOOT_CFG ?= "${S}/loader.conf"
7537 7581
7538 For information on Systemd-boot, see the `Systemd-boot 7582 For information on Systemd-boot, see the `Systemd-boot
7539 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__. 7583 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__.
@@ -8736,4 +8780,22 @@ system and gives an overview of their function and contents.
8736 8780
8737 The default value of ``XSERVER``, if not specified in the machine 8781 The default value of ``XSERVER``, if not specified in the machine
8738 configuration, is "xserver-xorg xf86-video-fbdev xf86-input-evdev". 8782 configuration, is "xserver-xorg xf86-video-fbdev xf86-input-evdev".
8739 8783
8784 :term:`XZ_THREADS`
8785 Specifies the number of parallel threads that should be used when
8786 using xz compression.
8787
8788 By default this scales with core count, but is never set less than 2
8789 to ensure that multi-threaded mode is always used so that the output
8790 file contents are deterministic. Builds will work with a value of 1
8791 but the output will differ compared to the output from the compression
8792 generated when more than one thread is used.
8793
8794 On systems where many tasks run in parallel, setting a limit to this
8795 can be helpful in controlling system resource usage.
8796
8797 :term:`XZ_MEMLIMIT`
8798 Specifies the maximum memory the xz compression should use as a percentage
8799 of system memory. If unconstrained the xz compressor can use large amounts of
8800 memory and become problematic with parallelism elsewhere in the build.
8801 "50%" has been found to be a good value.