summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/variables.rst
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2023-11-14 17:44:01 +0100
committerSteve Sakoman <steve@sakoman.com>2023-11-28 05:00:32 -1000
commita2d67684cc830181f00d4a432d10faf1c0495f25 (patch)
tree26ab9f04d0e682a9f1ce3a4579ca331fefe92039 /documentation/ref-manual/variables.rst
parentfdd88b549fbddcfad967b9fc0d11b66e1bbd0dd1 (diff)
downloadpoky-a2d67684cc830181f00d4a432d10faf1c0495f25.tar.gz
manuals: update class references
Synchronizing with master whenever possible, to make the branch easier to maintain. (From yocto-docs rev: 825b1292ab08770b2d8cfdc1e11358a2790c1a1b) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'documentation/ref-manual/variables.rst')
-rw-r--r--documentation/ref-manual/variables.rst258
1 files changed, 239 insertions, 19 deletions
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 5163abf559..e8028b328b 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -2101,6 +2101,18 @@ system and gives an overview of their function and contents.
2101 For information on policies and on how to use this variable, see the 2101 For information on policies and on how to use this variable, see the
2102 comments in the ``meta/classes/compress_doc.bbclass`` file. 2102 comments in the ``meta/classes/compress_doc.bbclass`` file.
2103 2103
2104 :term:`DT_FILES_PATH`
2105 When compiling out-of-tree device tree sources using a recipe that
2106 inherits the :ref:`ref-classes-devicetree` class, this variable specifies
2107 the path to the directory containing dts files to build.
2108
2109 Defaults to the :term:`S` directory.
2110
2111 :term:`DT_PADDING_SIZE`
2112 When inheriting the :ref:`ref-classes-devicetree` class, this variable
2113 specifies the size of padding appended to the device tree blob, used as
2114 extra space typically for additional properties during boot.
2115
2104 :term:`EFI_PROVIDER` 2116 :term:`EFI_PROVIDER`
2105 When building bootable images (i.e. where ``hddimg``, ``iso``, or 2117 When building bootable images (i.e. where ``hddimg``, ``iso``, or
2106 ``wic.vmdk`` is in :term:`IMAGE_FSTYPES`), the 2118 ``wic.vmdk`` is in :term:`IMAGE_FSTYPES`), the
@@ -2860,6 +2872,73 @@ system and gives an overview of their function and contents.
2860 2872
2861 GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8" 2873 GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8"
2862 2874
2875 :term:`GO_IMPORT`
2876 When inheriting the :ref:`ref-classes-go` class, this mandatory variable
2877 sets the import path for the Go package that will be created for the code
2878 to build. If you have a ``go.mod`` file in the source directory, this
2879 typically matches the path in the ``module`` line in this file.
2880
2881 Other Go programs importing this package will use this path.
2882
2883 Here is an example setting from the
2884 :yocto_git:`go-helloworld_0.1.bb </poky/tree/meta/recipes-extended/go-examples/go-helloworld_0.1.bb>`
2885 recipe::
2886
2887 GO_IMPORT = "golang.org/x/example"
2888
2889 :term:`GO_INSTALL`
2890 When inheriting the :ref:`ref-classes-go` class, this optional variable
2891 specifies which packages in the sources should be compiled and
2892 installed in the Go build space by the
2893 `go install <https://go.dev/ref/mod#go-install>`__ command.
2894
2895 Here is an example setting from the
2896 :oe_git:`crucible </meta-openembedded/tree/meta-oe/recipes-support/crucible/>`
2897 recipe::
2898
2899 GO_INSTALL = "\
2900 ${GO_IMPORT}/cmd/crucible \
2901 ${GO_IMPORT}/cmd/habtool \
2902 "
2903
2904 By default, :term:`GO_INSTALL` is defined as::
2905
2906 GO_INSTALL ?= "${GO_IMPORT}/..."
2907
2908 The ``...`` wildcard means that it will catch all
2909 packages found in the sources.
2910
2911 See the :term:`GO_INSTALL_FILTEROUT` variable for
2912 filtering out unwanted packages from the ones
2913 found from the :term:`GO_INSTALL` value.
2914
2915 :term:`GO_INSTALL_FILTEROUT`
2916 When using the Go "vendor" mechanism to bring in dependencies for a Go
2917 package, the default :term:`GO_INSTALL` setting, which uses the ``...``
2918 wildcard, will include the vendored packages in the build, which produces
2919 incorrect results.
2920
2921 There are also some Go packages that are structured poorly, so that the
2922 ``...`` wildcard results in building example or test code that should not
2923 be included in the build, or could fail to build.
2924
2925 This optional variable allows for filtering out a subset of the sources.
2926 It defaults to excluding everything under the ``vendor`` subdirectory
2927 under package's main directory. This is the normal location for vendored
2928 packages, but it can be overridden by a recipe to filter out other
2929 subdirectories if needed.
2930
2931 :term:`GO_WORKDIR`
2932 When using Go Modules, the current working directory must be the directory
2933 containing the ``go.mod`` file, or one of its subdirectories. When the
2934 ``go`` tool is used, it will automatically look for the ``go.mod`` file
2935 in the Go working directory or in any parent directory, but not in
2936 subdirectories.
2937
2938 When using the :ref:`ref-classes-go-mod` class to use Go modules,
2939 the optional :term:`GO_WORKDIR` variable, defaulting to the value
2940 of :term:`GO_IMPORT`, allows to specify a different Go working directory.
2941
2863 :term:`GROUPADD_PARAM` 2942 :term:`GROUPADD_PARAM`
2864 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 2943 When inheriting the :ref:`useradd <ref-classes-useradd>` class,
2865 this variable specifies for a package what parameters should be 2944 this variable specifies for a package what parameters should be
@@ -3128,17 +3207,23 @@ system and gives an overview of their function and contents.
3128 material for Wic is located in the 3207 material for Wic is located in the
3129 ":doc:`/ref-manual/kickstart`" chapter. 3208 ":doc:`/ref-manual/kickstart`" chapter.
3130 3209
3131 :term:`IMAGE_CLASSES` 3210 :term:`IMAGE_BUILDINFO_FILE`
3132 A list of classes that all images should inherit. You typically use 3211 When using the :ref:`ref-classes-image-buildinfo` class,
3133 this variable to specify the list of classes that register the 3212 specifies the file in the image to write the build information into. The
3134 different types of images the OpenEmbedded build system creates. 3213 default value is "``${sysconfdir}/buildinfo``".
3135 3214
3136 The default value for :term:`IMAGE_CLASSES` is ``image_types``. You can 3215 :term:`IMAGE_BUILDINFO_VARS`
3137 set this variable in your ``local.conf`` or in a distribution 3216 When using the :ref:`ref-classes-image-buildinfo` class,
3138 configuration file. 3217 specifies the list of variables to include in the `Build Configuration`
3218 section of the output file (as a space-separated list). Defaults to
3219 ":term:`DISTRO` :term:`DISTRO_VERSION`".
3139 3220
3140 For more information, see ``meta/classes/image_types.bbclass`` in the 3221 :term:`IMAGE_CLASSES`
3141 :term:`Source Directory`. 3222 A list of classes that all images should inherit. This is typically used
3223 to enable functionality across all image recipes.
3224
3225 Classes specified in :term:`IMAGE_CLASSES` must be located in the
3226 ``classes-recipe/`` or ``classes/`` subdirectories.
3142 3227
3143 :term:`IMAGE_CMD` 3228 :term:`IMAGE_CMD`
3144 Specifies the command to create the image file for a specific image 3229 Specifies the command to create the image file for a specific image
@@ -4115,9 +4200,18 @@ system and gives an overview of their function and contents.
4115 There is legacy support for specifying the full path to the device 4200 There is legacy support for specifying the full path to the device
4116 tree. However, providing just the ``.dtb`` file is preferred. 4201 tree. However, providing just the ``.dtb`` file is preferred.
4117 4202
4118 In order to use this variable, the 4203 In order to use this variable, the :ref:`ref-classes-kernel-devicetree`
4119 :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class must 4204 class must be inherited.
4120 be inherited. 4205
4206 :term:`KERNEL_DEVICETREE_BUNDLE`
4207 When set to "1", this variable allows to bundle the Linux kernel
4208 and the Device Tree Binary together in a single file.
4209
4210 This feature is currently only supported on the "arm" (32 bit)
4211 architecture.
4212
4213 This variable is set to "0" by default by the
4214 :ref:`ref-classes-kernel-devicetree` class.
4121 4215
4122 :term:`KERNEL_DTB_LINK_NAME` 4216 :term:`KERNEL_DTB_LINK_NAME`
4123 The link name of the kernel device tree binary (DTB). This variable 4217 The link name of the kernel device tree binary (DTB). This variable
@@ -4142,10 +4236,25 @@ system and gives an overview of their function and contents.
4142 4236
4143 KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}" 4237 KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}"
4144 4238
4145 The value of the :term:`KERNEL_ARTIFACT_NAME` 4239 See :term:`KERNEL_ARTIFACT_NAME` for additional information.
4146 variable, which is set in the same file, has the following value::
4147 4240
4148 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 4241
4242 :term:`KERNEL_DTBDEST`
4243 This variable, used by the :ref:`ref-classes-kernel-devicetree`
4244 class, allows to change the installation directory of the DTB
4245 (Device Tree Binary) files.
4246
4247 It is set by default to "${KERNEL_IMAGEDEST}" by the
4248 :ref:`ref-classes-kernel` class.
4249
4250 :term:`KERNEL_DTBVENDORED`
4251 This variable, used by the :ref:`ref-classes-kernel-devicetree`,
4252 allows to ignore vendor subdirectories when installing DTB
4253 (Device Tree Binary) files, when it is set to "false".
4254
4255 To keep vendor subdirectories, set this variable to "true".
4256
4257 It is set by default to "false" by the :ref:`ref-classes-kernel` class.
4149 4258
4150 :term:`KERNEL_DTC_FLAGS` 4259 :term:`KERNEL_DTC_FLAGS`
4151 Specifies the ``dtc`` flags that are passed to the Linux kernel build 4260 Specifies the ``dtc`` flags that are passed to the Linux kernel build
@@ -4260,9 +4369,12 @@ system and gives an overview of their function and contents.
4260 when building the kernel and is passed to ``make`` as the target to 4369 when building the kernel and is passed to ``make`` as the target to
4261 build. 4370 build.
4262 4371
4263 If you want to build an alternate kernel image type in addition to that 4372 To build additional kernel image types, use :term:`KERNEL_IMAGETYPES`.
4264 specified by :term:`KERNEL_IMAGETYPE`, use the :term:`KERNEL_ALT_IMAGETYPE` 4373
4265 variable. 4374 :term:`KERNEL_IMAGETYPES`
4375 Lists additional types of kernel images to build for a device in addition
4376 to image type specified in :term:`KERNEL_IMAGETYPE`. Usually set by the
4377 machine configuration files.
4266 4378
4267 :term:`KERNEL_MODULE_AUTOLOAD` 4379 :term:`KERNEL_MODULE_AUTOLOAD`
4268 Lists kernel modules that need to be auto-loaded during boot. 4380 Lists kernel modules that need to be auto-loaded during boot.
@@ -4300,6 +4412,14 @@ system and gives an overview of their function and contents.
4300 provide those module configurations, see the 4412 provide those module configurations, see the
4301 :term:`module_conf_* <module_conf>` variable. 4413 :term:`module_conf_* <module_conf>` variable.
4302 4414
4415 :term:`KERNEL_PACKAGE_NAME`
4416 Specifies the base name of the kernel packages, such as "kernel"
4417 in the kernel packages such as "kernel-modules", "kernel-image" and
4418 "kernel-dbg".
4419
4420 The default value for this variable is set to "kernel" by the
4421 :ref:`ref-classes-kernel` class.
4422
4303 :term:`KERNEL_PATH` 4423 :term:`KERNEL_PATH`
4304 The location of the kernel sources. This variable is set to the value 4424 The location of the kernel sources. This variable is set to the value
4305 of the :term:`STAGING_KERNEL_DIR` within 4425 of the :term:`STAGING_KERNEL_DIR` within
@@ -5142,6 +5262,16 @@ system and gives an overview of their function and contents.
5142 :term:`Source Directory` for details on how this class 5262 :term:`Source Directory` for details on how this class
5143 applies these additional sed command arguments. 5263 applies these additional sed command arguments.
5144 5264
5265 :term:`OECMAKE_GENERATOR`
5266 A variable for the :ref:`ref-classes-cmake` class, allowing to choose
5267 which back-end will be generated by CMake to build an application.
5268
5269 By default, this variable is set to ``Ninja``, which is faster than GNU
5270 make, but if building is broken with Ninja, a recipe can use this
5271 variable to use GNU make instead::
5272
5273 OECMAKE_GENERATOR = "Unix Makefiles"
5274
5145 :term:`OE_IMPORTS` 5275 :term:`OE_IMPORTS`
5146 An internal variable used to tell the OpenEmbedded build system what 5276 An internal variable used to tell the OpenEmbedded build system what
5147 Python modules to import for every Python function run by the system. 5277 Python modules to import for every Python function run by the system.
@@ -7420,6 +7550,38 @@ system and gives an overview of their function and contents.
7420 section in the Yocto Project Board Support Package Developer's Guide 7550 section in the Yocto Project Board Support Package Developer's Guide
7421 for additional information. 7551 for additional information.
7422 7552
7553 :term:`SPL_MKIMAGE_DTCOPTS`
7554 Options for the device tree compiler passed to ``mkimage -D`` feature
7555 while creating a FIT image with the :ref:`ref-classes-uboot-sign`
7556 class. If :term:`SPL_MKIMAGE_DTCOPTS` is not set then the
7557 :ref:`ref-classes-uboot-sign` class will not pass the ``-D`` option
7558 to ``mkimage``.
7559
7560 The default value is set to "" by the :ref:`ref-classes-uboot-config`
7561 class.
7562
7563 :term:`SPL_SIGN_ENABLE`
7564 Enable signing of the U-Boot FIT image. The default value is "0".
7565 This variable is used by the :ref:`ref-classes-uboot-sign` class.
7566
7567 :term:`SPL_SIGN_KEYDIR`
7568 Location of the directory containing the RSA key and certificate used for
7569 signing the U-Boot FIT image, used by the :ref:`ref-classes-uboot-sign`
7570 class.
7571
7572 :term:`SPL_SIGN_KEYNAME`
7573 The name of keys used by the :ref:`ref-classes-kernel-fitimage` class
7574 for signing U-Boot FIT image stored in the :term:`SPL_SIGN_KEYDIR`
7575 directory. If we have for example a ``dev.key`` key and a ``dev.crt``
7576 certificate stored in the :term:`SPL_SIGN_KEYDIR` directory, you will
7577 have to set :term:`SPL_SIGN_KEYNAME` to ``dev``.
7578
7579 :term:`SPLASH`
7580 This variable, used by the :ref:`ref-classes-image` class, allows
7581 to choose splashscreen applications. Set it to the names of packages
7582 for such applications to use. This variable is set by default to
7583 ``psplash``.
7584
7423 :term:`SPLASH_IMAGES` 7585 :term:`SPLASH_IMAGES`
7424 This variable, used by the ``psplash`` recipe, allows to customize 7586 This variable, used by the ``psplash`` recipe, allows to customize
7425 the default splashscreen image. 7587 the default splashscreen image.
@@ -8515,7 +8677,7 @@ system and gives an overview of their function and contents.
8515 on enabling, running, and writing these tests, see the 8677 on enabling, running, and writing these tests, see the
8516 ":ref:`dev-manual/runtime-testing:performing automated runtime testing`" 8678 ":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
8517 section in the Yocto Project Development Tasks Manual and the 8679 section in the Yocto Project Development Tasks Manual and the
8518 ":ref:`ref-classes-testimage*`" section. 8680 ":ref:`ref-classes-testimage`" section.
8519 8681
8520 :term:`THISDIR` 8682 :term:`THISDIR`
8521 The directory in which the file BitBake is currently parsing is 8683 The directory in which the file BitBake is currently parsing is
@@ -8799,6 +8961,64 @@ system and gives an overview of their function and contents.
8799 creation, the :term:`UBOOT_ENTRYPOINT` variable is passed as a 8961 creation, the :term:`UBOOT_ENTRYPOINT` variable is passed as a
8800 command-line parameter to the ``uboot-mkimage`` utility. 8962 command-line parameter to the ``uboot-mkimage`` utility.
8801 8963
8964 :term:`UBOOT_FIT_DESC`
8965 Specifies the description string encoded into a U-Boot fitImage. The default
8966 value is set by the :ref:`ref-classes-uboot-sign` class as follows::
8967
8968 UBOOT_FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}"
8969
8970 :term:`UBOOT_FIT_GENERATE_KEYS`
8971 Decides whether to generate the keys for signing the U-Boot fitImage if
8972 they don't already exist. The keys are created in :term:`SPL_SIGN_KEYDIR`.
8973 The default value is "0".
8974
8975 Enable this as follows::
8976
8977 UBOOT_FIT_GENERATE_KEYS = "1"
8978
8979 This variable is used in the :ref:`ref-classes-uboot-sign` class.
8980
8981 :term:`UBOOT_FIT_HASH_ALG`
8982 Specifies the hash algorithm used in creating the U-Boot FIT Image.
8983 It is set by default to ``sha256`` by the :ref:`ref-classes-uboot-sign`
8984 class.
8985
8986 :term:`UBOOT_FIT_KEY_GENRSA_ARGS`
8987 Arguments to ``openssl genrsa`` for generating a RSA private key for
8988 signing the U-Boot FIT image. The default value of this variable
8989 is set to "-F4" by the :ref:`ref-classes-uboot-sign` class.
8990
8991 :term:`UBOOT_FIT_KEY_REQ_ARGS`
8992 Arguments to ``openssl req`` for generating a certificate for signing
8993 the U-Boot FIT image. The default value is "-batch -new" by the
8994 :ref:`ref-classes-uboot-sign` class, "batch" for
8995 non interactive mode and "new" for generating new keys.
8996
8997 :term:`UBOOT_FIT_KEY_SIGN_PKCS`
8998 Format for the public key certificate used for signing the U-Boot FIT
8999 image. The default value is set to "x509" by the
9000 :ref:`ref-classes-uboot-sign` class.
9001
9002 :term:`UBOOT_FIT_SIGN_ALG`
9003 Specifies the signature algorithm used in creating the U-Boot FIT Image.
9004 This variable is set by default to "rsa2048" by the
9005 :ref:`ref-classes-uboot-sign` class.
9006
9007 :term:`UBOOT_FIT_SIGN_NUMBITS`
9008 Size of the private key used in signing the U-Boot FIT image, in number
9009 of bits. The default value for this variable is set to "2048"
9010 by the :ref:`ref-classes-uboot-sign` class.
9011
9012 :term:`UBOOT_FITIMAGE_ENABLE`
9013 This variable allows to generate a FIT image for U-Boot, which is one
9014 of the ways to implement a verified boot process.
9015
9016 Its default value is "0", so set it to "1" to enable this functionality::
9017
9018 UBOOT_FITIMAGE_ENABLE = "1"
9019
9020 See the :ref:`ref-classes-uboot-sign` class for details.
9021
8802 :term:`UBOOT_LOADADDRESS` 9022 :term:`UBOOT_LOADADDRESS`
8803 Specifies the load address for the U-Boot image. During U-Boot image 9023 Specifies the load address for the U-Boot image. During U-Boot image
8804 creation, the :term:`UBOOT_LOADADDRESS` variable is passed as a 9024 creation, the :term:`UBOOT_LOADADDRESS` variable is passed as a