summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual')
-rw-r--r--documentation/ref-manual/classes.rst245
-rw-r--r--documentation/ref-manual/resources.rst4
-rw-r--r--documentation/ref-manual/system-requirements.rst2
-rw-r--r--documentation/ref-manual/variables.rst84
-rw-r--r--documentation/ref-manual/yocto-project-supported-features.rst23
5 files changed, 232 insertions, 126 deletions
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 54a98bf24f..f2f6e6e411 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1732,77 +1732,158 @@ Its behavior is mainly controlled by the following variables:
1732- :term:`KERNEL_DTC_FLAGS`: flags for ``dtc``, the Device Tree Compiler 1732- :term:`KERNEL_DTC_FLAGS`: flags for ``dtc``, the Device Tree Compiler
1733- :term:`KERNEL_PACKAGE_NAME`: base name of the kernel packages 1733- :term:`KERNEL_PACKAGE_NAME`: base name of the kernel packages
1734 1734
1735.. _ref-classes-kernel-fitimage: 1735.. _ref-classes-kernel-fit-image:
1736 1736
1737``kernel-fitimage`` 1737``kernel-fit-image``
1738=================== 1738====================
1739 1739
1740The :ref:`ref-classes-kernel-fitimage` class provides support to pack a kernel image, 1740The :ref:`ref-classes-kernel-fit-image` class provides support to pack a kernel image,
1741device trees, a U-boot script, an :term:`Initramfs` bundle and a RAM disk 1741device trees, a U-boot script, and an :term:`Initramfs` into a single FIT image.
1742into a single FIT image. In theory, a FIT image can support any number 1742In theory, a FIT image can support any number of kernels, U-boot scripts,
1743of kernels, U-boot scripts, :term:`Initramfs` bundles, RAM disks and device-trees. 1743:term:`Initramfs`, and device trees.
1744However, :ref:`ref-classes-kernel-fitimage` currently only supports 1744However, :ref:`ref-classes-kernel-fit-image` currently only supports
1745limited usecases: just one kernel image, an optional U-boot script, 1745limited usecases: just one kernel image, an optional U-boot script,
1746an optional :term:`Initramfs` bundle, an optional RAM disk, and any number of 1746an optional :term:`Initramfs`, and any number of device trees.
1747device trees. 1747
1748 1748The FIT image is created by a recipe which inherits the
1749To create a FIT image, it is required that :term:`KERNEL_CLASSES` 1749:ref:`ref-classes-kernel-fit-image` class.
1750is set to include ":ref:`ref-classes-kernel-fitimage`" and one of :term:`KERNEL_IMAGETYPE`, 1750One such example is the ``linux-yocto-fitimage`` recipe which creates a FIT
1751:term:`KERNEL_ALT_IMAGETYPE` or :term:`KERNEL_IMAGETYPES` to include "fitImage". 1751image for the Linux Yocto kernel.
1752 1752Additionally, it is required that :term:`KERNEL_CLASSES` is set to include
1753The options for the device tree compiler passed to ``mkimage -D`` 1753:ref:`ref-classes-kernel-fit-extra-artifacts`.
1754when creating the FIT image are specified using the 1754The :ref:`ref-classes-kernel-fit-extra-artifacts` class exposes the required kernel
1755:term:`UBOOT_MKIMAGE_DTCOPTS` variable. 1755artifacts to the :term:`DEPLOY_DIR_IMAGE` which are used by the
1756 1756:ref:`ref-classes-kernel-fit-image` class to create the FIT image.
1757Only a single kernel can be added to the FIT image created by 1757
1758:ref:`ref-classes-kernel-fitimage` and the kernel image in FIT is mandatory. The 1758The simplest example for building a FIT image is to add::
1759address where the kernel image is to be loaded by U-Boot is 1759
1760specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by 1760 KERNEL_CLASSES += "kernel-fit-extra-artifacts"
1761:term:`UBOOT_ENTRYPOINT`. Setting :term:`FIT_ADDRESS_CELLS` to "2" 1761
1762is necessary if such addresses are 64 bit ones. 1762to the machine :term:`configuration file` and to execute::
1763 1763
1764Multiple device trees can be added to the FIT image created by 1764 bitbake linux-yocto-fitimage
1765:ref:`ref-classes-kernel-fitimage` and the device tree is optional. 1765
1766The address where the device tree is to be loaded by U-Boot is 1766This results in a ``fitImage`` file deployed to the :term:`DEPLOY_DIR_IMAGE`
1767specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays 1767directory and a ``linux-yocto-fitimage`` package which can be installed.
1768and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries. 1768
1769 1769The same approach works for all variants of the ``linux-yocto`` kernel.
1770Only a single RAM disk can be added to the FIT image created by 1770For example, if the ``linux-yocto-rt`` kernel should be used, add the following
1771:ref:`ref-classes-kernel-fitimage` and the RAM disk in FIT is optional. 1771lines to the machine configuration file::
1772The address where the RAM disk image is to be loaded by U-Boot 1772
1773is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by 1773 KERNEL_CLASSES += "kernel-fit-extra-artifacts"
1774:term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to the FIT image when 1774 PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
1775:term:`INITRAMFS_IMAGE` is specified and requires that :term:`INITRAMFS_IMAGE_BUNDLE` 1775
1776is not set to 1. 1776The FIT image, this time including the RT kernel, is built again by calling::
1777 1777
1778Only a single :term:`Initramfs` bundle can be added to the FIT image created by 1778 bitbake linux-yocto-fitimage
1779:ref:`ref-classes-kernel-fitimage` and the :term:`Initramfs` bundle in FIT is optional. 1779
1780In case of :term:`Initramfs`, the kernel is configured to be bundled with the root filesystem 1780For other kernels provided by other layers, the same approach would work.
1781in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin). 1781However, it is usually more intuitive to add a custom FIT image recipe next to
1782When the kernel is copied to RAM and executed, it unpacks the :term:`Initramfs` root filesystem. 1782the custom kernel recipe.
1783The :term:`Initramfs` bundle can be enabled when :term:`INITRAMFS_IMAGE` 1783For example, if a layer provides a ``linux-vanilla`` recipe, a
1784is specified and requires that :term:`INITRAMFS_IMAGE_BUNDLE` is set to 1. 1784``linux-vanilla-fitimage`` recipe may be added as well.
1785The address where the :term:`Initramfs` bundle is to be loaded by U-boot is specified 1785The ``linux-vanilla-fitimage`` recipe can be created as a customized copy of
1786by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. 1786the ``linux-yocto-fitimage`` recipe.
1787 1787
1788Only a single U-boot boot script can be added to the FIT image created by 1788Usually the kernel is built as a dependency of an image.
1789:ref:`ref-classes-kernel-fitimage` and the boot script is optional. 1789If the FIT image should be used as a replacement for the kernel image which
1790The boot script is specified in the ITS file as a text file containing 1790is installed in the root filesystem, then the following variables can be set
1791U-boot commands. When using a boot script the user should configure the 1791e.g. in the machine configuration file::
1792U-boot :ref:`ref-tasks-install` task to copy the script to sysroot. 1792
1793So the script can be included in the FIT image by the :ref:`ref-classes-kernel-fitimage` 1793 # Create and deploy the vmlinux artifact which gets included into the FIT image
1794class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to 1794 KERNEL_CLASSES += "kernel-fit-extra-artifacts"
1795load the boot script from the FIT image and execute it. 1795
1796 1796 # Do not install the kernel image package
1797The FIT image generated by the :ref:`ref-classes-kernel-fitimage` class is signed when the 1797 RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
1798variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, 1798 # Install the FIT image package
1799:term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set 1799 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-yocto-fitimage"
1800appropriately. The default values used for :term:`FIT_HASH_ALG` and 1800
1801:term:`FIT_SIGN_ALG` in :ref:`ref-classes-kernel-fitimage` are "sha256" and 1801 # Configure the image.bbclass to depend on the FIT image instead of only
1802"rsa2048" respectively. The keys for signing the FIT image can be generated using 1802 # the kernel to ensure the FIT image is built and deployed with the image
1803the :ref:`ref-classes-kernel-fitimage` class when both :term:`FIT_GENERATE_KEYS` and 1803 KERNEL_DEPLOY_DEPEND = "linux-yocto-fitimage:do_deploy"
1804:term:`UBOOT_SIGN_ENABLE` are set to "1". 1804
1805 1805The :ref:`ref-classes-kernel-fit-image` class processes several variables that
1806allow configuration:
1807
1808- The options for the device tree compiler passed to ``mkimage -D``
1809 when creating the FIT image are specified using the
1810 :term:`UBOOT_MKIMAGE_DTCOPTS` variable.
1811
1812- Only a single kernel can be added to the FIT image created by
1813 :ref:`ref-classes-kernel-fit-image` and it is a mandatory component of the
1814 FIT image.
1815 The address where the kernel image is to be loaded by U-Boot is
1816 specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by
1817 :term:`UBOOT_ENTRYPOINT`. Setting :term:`FIT_ADDRESS_CELLS` to "2"
1818 is necessary if such addresses are 64 bit ones.
1819
1820- Multiple device trees can be added to the FIT image created by
1821 :ref:`ref-classes-kernel-fit-image` and the device tree is optional.
1822 The address where the device tree is to be loaded by U-Boot is
1823 specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays
1824 and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries.
1825
1826- Only a single :term:`Initramfs` can be added to the FIT image created by
1827 :ref:`ref-classes-kernel-fit-image`. The :term:`Initramfs` in FIT is optional.
1828 The address where the RAM disk image is to be loaded by U-Boot
1829 is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by
1830 :term:`UBOOT_RD_ENTRYPOINT`. The :term:`Initramfs` is added to the FIT image
1831 when :term:`INITRAMFS_IMAGE` is specified.
1832
1833- It's recommended to add the :term:`Initramfs` and the kernel image as
1834 independent image nodes to the FIT image.
1835 Bundling a RAM disk image with the kernel image and including the bundle
1836 (:term:`INITRAMFS_IMAGE_BUNDLE` set to "1") in the FIT image is possible.
1837 However, this approach has the disadvantage that any change to the RAM
1838 disk image necessitates rebuilding the kernel image.
1839 This process requires the full kernel build directory, which is kind of
1840 incompatible with the :term:`SSTATE_DIR` and, consequently, with SDKs.
1841
1842- Only a single U-Boot boot script can be added to the FIT image created by
1843 :ref:`ref-classes-kernel-fit-image`. The boot script is optional.
1844 The boot script is specified in the ITS file as a text file containing
1845 U-Boot commands. When using a boot script the recipe which inherits the
1846 :ref:`ref-classes-kernel-fit-image` class should add the script to
1847 :term:`SRC_URI` and set the :term:`FIT_UBOOT_ENV` variable to the name of the
1848 file like the following::
1849
1850 FIT_UBOOT_ENV = "boot.txt"
1851 SRC_URI += "file://${FIT_UBOOT_ENV}"
1852
1853 At run-time, U-boot's boot command can be configured to load the boot script
1854 from the FIT image and source it.
1855
1856- The FIT image generated by the :ref:`ref-classes-kernel-fit-image` class is signed when the
1857 variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`,
1858 :term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set
1859 appropriately. The default values used for :term:`FIT_HASH_ALG` and
1860 :term:`FIT_SIGN_ALG` in :ref:`ref-classes-kernel-fit-image` are "sha256" and
1861 "rsa2048" respectively. The keys for signing the FIT image can be generated using
1862 the :ref:`ref-classes-kernel-fit-image` class when both :term:`FIT_GENERATE_KEYS` and
1863 :term:`UBOOT_SIGN_ENABLE` are set to "1".
1864
1865.. _ref-classes-kernel-fit-extra-artifacts:
1866
1867``kernel-fit-extra-artifacts``
1868==============================
1869
1870The :ref:`ref-classes-kernel-fit-extra-artifacts` class exposes the required
1871kernel artifacts to the :term:`DEPLOY_DIR_IMAGE` directory.
1872These artifacts are used by the :ref:`ref-classes-kernel-fit-image` class to
1873create a FIT image that can include the kernel, device trees, an optional
1874U-Boot script, and an optional Initramfs.
1875
1876This class is typically included by adding it to the :term:`KERNEL_CLASSES`
1877variable in your kernel recipe or machine configuration when building FIT images.
1878It ensures that all necessary files are available for packaging into the FIT image,
1879such as the kernel binary, device tree blobs (DTBs), and other related files.
1880
1881For example, to enable this class, set::
1882
1883 KERNEL_CLASSES += "kernel-fit-extra-artifacts"
1884
1885This is required when using the :ref:`ref-classes-kernel-fit-image` class to
1886generate FIT images for your kernel.
1806 1887
1807.. _ref-classes-kernel-grub: 1888.. _ref-classes-kernel-grub:
1808 1889
@@ -2050,7 +2131,8 @@ a couple different ways:
2050 Not using this naming convention can lead to subtle problems 2131 Not using this naming convention can lead to subtle problems
2051 caused by existing code that depends on that naming convention. 2132 caused by existing code that depends on that naming convention.
2052 2133
2053- Create or modify a target recipe that contains the following:: 2134- Or, create a :ref:`ref-classes-native` variant of any target recipe (e.g.
2135 ``myrecipe.bb``) by adding the following to the recipe::
2054 2136
2055 BBCLASSEXTEND = "native" 2137 BBCLASSEXTEND = "native"
2056 2138
@@ -2081,24 +2163,25 @@ couple different ways:
2081 inherit statement in the recipe after all other inherit statements so 2163 inherit statement in the recipe after all other inherit statements so
2082 that the :ref:`ref-classes-nativesdk` class is inherited last. 2164 that the :ref:`ref-classes-nativesdk` class is inherited last.
2083 2165
2084- Create a :ref:`ref-classes-nativesdk` variant of any recipe by adding the following:: 2166 .. note::
2085 2167
2086 BBCLASSEXTEND = "nativesdk" 2168 When creating a recipe, you must follow this naming convention::
2087 2169
2088 Inside the 2170 nativesdk-myrecipe.bb
2089 recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to
2090 specify any functionality specific to the respective SDK machine or
2091 target case.
2092 2171
2093.. note::
2094 2172
2095 When creating a recipe, you must follow this naming convention:: 2173 Not doing so can lead to subtle problems because there is code that
2174 depends on the naming convention.
2096 2175
2097 nativesdk-myrecipe.bb 2176- Or, create a :ref:`ref-classes-nativesdk` variant of any target recipe (e.g.
2177 ``myrecipe.bb``) by adding the following to the recipe::
2098 2178
2179 BBCLASSEXTEND = "nativesdk"
2099 2180
2100 Not doing so can lead to subtle problems because there is code that 2181 Inside the
2101 depends on the naming convention. 2182 recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to
2183 specify any functionality specific to the respective SDK machine or
2184 target case.
2102 2185
2103Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both 2186Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both
2104methods. The advantage of the second method is that you do not need to 2187methods. The advantage of the second method is that you do not need to
@@ -3436,7 +3519,7 @@ See U-Boot's documentation for details about `verified boot
3436and the `signature process 3519and the `signature process
3437<https://source.denx.de/u-boot/u-boot/-/blob/master/doc/uImage.FIT/signature.txt>`__. 3520<https://source.denx.de/u-boot/u-boot/-/blob/master/doc/uImage.FIT/signature.txt>`__.
3438 3521
3439See also the description of :ref:`ref-classes-kernel-fitimage` class, which this class 3522See also the description of :ref:`ref-classes-kernel-fit-image` class, which this class
3440imitates. 3523imitates.
3441 3524
3442.. _ref-classes-uki: 3525.. _ref-classes-uki:
diff --git a/documentation/ref-manual/resources.rst b/documentation/ref-manual/resources.rst
index 4eaaca942e..bcbc7ebaca 100644
--- a/documentation/ref-manual/resources.rst
+++ b/documentation/ref-manual/resources.rst
@@ -23,7 +23,7 @@ The Yocto Project gladly accepts contributions. You can submit changes
23to the project either by creating and sending pull requests, or by 23to the project either by creating and sending pull requests, or by
24submitting patches through email. For information on how to do both as 24submitting patches through email. For information on how to do both as
25well as information on how to identify the maintainer for each area of 25well as information on how to identify the maintainer for each area of
26code, see the :doc:`../contributor-guide/index`. 26code, see the :doc:`/contributor-guide/index`.
27 27
28.. _resources-bugtracker: 28.. _resources-bugtracker:
29 29
@@ -45,7 +45,7 @@ your expectations).
45For a general procedure and guidelines on how to use Bugzilla to submit a bug 45For a general procedure and guidelines on how to use Bugzilla to submit a bug
46against the Yocto Project, see the following: 46against the Yocto Project, see the following:
47 47
48- The ":doc:`../contributor-guide/report-defect`" 48- The ":doc:`/contributor-guide/report-defect`"
49 section in the Yocto Project and OpenEmbedded Contributor Guide. 49 section in the Yocto Project and OpenEmbedded Contributor Guide.
50 50
51- The Yocto Project :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` 51- The Yocto Project :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index b64a13320a..14b635013b 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -145,7 +145,7 @@ tested on former revisions of "&DISTRO_NAME;", but no longer are:
145 interested in hearing about your experience. For information on 145 interested in hearing about your experience. For information on
146 how to submit a bug, see the Yocto Project 146 how to submit a bug, see the Yocto Project
147 :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` 147 :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
148 and the ":doc:`../contributor-guide/report-defect`" 148 and the ":doc:`/contributor-guide/report-defect`"
149 section in the Yocto Project and OpenEmbedded Contributor Guide. 149 section in the Yocto Project and OpenEmbedded Contributor Guide.
150 150
151Required Packages for the Build Host 151Required Packages for the Build Host
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 5c18b852d1..c6ae3fb8bc 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -2576,7 +2576,7 @@ system and gives an overview of their function and contents.
2576 You can safely share this directory between multiple builds on the 2576 You can safely share this directory between multiple builds on the
2577 same development machine. For additional information on how the build 2577 same development machine. For additional information on how the build
2578 process gets source files when working behind a firewall or proxy 2578 process gets source files when working behind a firewall or proxy
2579 server, see this specific question in the ":doc:`faq`" 2579 server, see this specific question in the ":doc:`/ref-manual/faq`"
2580 chapter. You can also refer to the 2580 chapter. You can also refer to the
2581 ":yocto_wiki:`Working Behind a Network Proxy </Working_Behind_a_Network_Proxy>`" 2581 ":yocto_wiki:`Working Behind a Network Proxy </Working_Behind_a_Network_Proxy>`"
2582 Wiki page. 2582 Wiki page.
@@ -2790,7 +2790,7 @@ system and gives an overview of their function and contents.
2790 ``meta/classes-recipe`` to see how the variable is used. 2790 ``meta/classes-recipe`` to see how the variable is used.
2791 2791
2792 :term:`EXTERNAL_KERNEL_DEVICETREE` 2792 :term:`EXTERNAL_KERNEL_DEVICETREE`
2793 When inheriting :ref:`ref-classes-kernel-fitimage` and a 2793 When inheriting :ref:`ref-classes-kernel-fit-image` and a
2794 :term:`PREFERRED_PROVIDER` for ``virtual/dtb`` set to ``devicetree``, the 2794 :term:`PREFERRED_PROVIDER` for ``virtual/dtb`` set to ``devicetree``, the
2795 variable :term:`EXTERNAL_KERNEL_DEVICETREE` can be used to specify a 2795 variable :term:`EXTERNAL_KERNEL_DEVICETREE` can be used to specify a
2796 directory containing one or more compiled device tree or device tree 2796 directory containing one or more compiled device tree or device tree
@@ -3318,7 +3318,7 @@ system and gives an overview of their function and contents.
3318 Specifies the value of the ``#address-cells`` value for the 3318 Specifies the value of the ``#address-cells`` value for the
3319 description of the FIT image. 3319 description of the FIT image.
3320 3320
3321 The default value is set to "1" by the :ref:`ref-classes-kernel-fitimage` 3321 The default value is set to "1" by the :ref:`ref-classes-kernel-fit-image`
3322 class, which corresponds to 32 bit addresses. 3322 class, which corresponds to 32 bit addresses.
3323 3323
3324 For platforms that need to set 64 bit addresses, for example in 3324 For platforms that need to set 64 bit addresses, for example in
@@ -3337,11 +3337,11 @@ system and gives an overview of their function and contents.
3337 Specifies the default device tree binary (dtb) file for a FIT image 3337 Specifies the default device tree binary (dtb) file for a FIT image
3338 when multiple ones are provided. 3338 when multiple ones are provided.
3339 3339
3340 This variable is used in the :ref:`ref-classes-kernel-fitimage` class. 3340 This variable is used in the :ref:`ref-classes-kernel-fit-image` class.
3341 3341
3342 :term:`FIT_DESC` 3342 :term:`FIT_DESC`
3343 Specifies the description string encoded into a FIT image. The 3343 Specifies the description string encoded into a FIT image. The
3344 default value is set by the :ref:`ref-classes-kernel-fitimage` class as 3344 default value is set by the :ref:`ref-classes-kernel-fit-image` class as
3345 follows:: 3345 follows::
3346 3346
3347 FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}" 3347 FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}"
@@ -3350,12 +3350,12 @@ system and gives an overview of their function and contents.
3350 Decides whether to generate the keys for signing the FIT image if 3350 Decides whether to generate the keys for signing the FIT image if
3351 they don't already exist. The keys are created in 3351 they don't already exist. The keys are created in
3352 :term:`UBOOT_SIGN_KEYDIR`. The default value is set to "0" 3352 :term:`UBOOT_SIGN_KEYDIR`. The default value is set to "0"
3353 by the :ref:`ref-classes-kernel-fitimage` class. 3353 by the :ref:`ref-classes-kernel-fit-image` class.
3354 3354
3355 :term:`FIT_HASH_ALG` 3355 :term:`FIT_HASH_ALG`
3356 Specifies the hash algorithm used in creating the FIT Image. 3356 Specifies the hash algorithm used in creating the FIT Image.
3357 This variable is set by default to "sha256" by the 3357 This variable is set by default to "sha256" by the
3358 :ref:`ref-classes-kernel-fitimage` class. 3358 :ref:`ref-classes-kernel-fit-image` class.
3359 3359
3360 :term:`FIT_KERNEL_COMP_ALG` 3360 :term:`FIT_KERNEL_COMP_ALG`
3361 The compression algorithm to use for the kernel image inside the FIT Image. 3361 The compression algorithm to use for the kernel image inside the FIT Image.
@@ -3374,31 +3374,31 @@ system and gives an overview of their function and contents.
3374 :term:`FIT_KEY_GENRSA_ARGS` 3374 :term:`FIT_KEY_GENRSA_ARGS`
3375 Arguments to ``openssl genrsa`` for generating a RSA private key for 3375 Arguments to ``openssl genrsa`` for generating a RSA private key for
3376 signing the FIT image. The default value is set to "-F4" by the 3376 signing the FIT image. The default value is set to "-F4" by the
3377 :ref:`ref-classes-kernel-fitimage` class. 3377 :ref:`ref-classes-kernel-fit-image` class.
3378 3378
3379 :term:`FIT_KEY_REQ_ARGS` 3379 :term:`FIT_KEY_REQ_ARGS`
3380 Arguments to ``openssl req`` for generating a certificate for signing 3380 Arguments to ``openssl req`` for generating a certificate for signing
3381 the FIT image. The default value is "-batch -new" by the 3381 the FIT image. The default value is "-batch -new" by the
3382 :ref:`ref-classes-kernel-fitimage` class, "batch" for 3382 :ref:`ref-classes-kernel-fit-image` class, "batch" for
3383 non interactive mode and "new" for generating new keys. 3383 non interactive mode and "new" for generating new keys.
3384 3384
3385 :term:`FIT_KEY_SIGN_PKCS` 3385 :term:`FIT_KEY_SIGN_PKCS`
3386 Format for the public key certificate used for signing the FIT image. 3386 Format for the public key certificate used for signing the FIT image.
3387 The default value is set to "x509" by the 3387 The default value is set to "x509" by the
3388 :ref:`ref-classes-kernel-fitimage` class. 3388 :ref:`ref-classes-kernel-fit-image` class.
3389 3389
3390 :term:`FIT_SIGN_ALG` 3390 :term:`FIT_SIGN_ALG`
3391 Specifies the signature algorithm used in creating the FIT Image. 3391 Specifies the signature algorithm used in creating the FIT Image.
3392 This variable is set by default to "rsa2048" by the 3392 This variable is set by default to "rsa2048" by the
3393 :ref:`ref-classes-kernel-fitimage` class. 3393 :ref:`ref-classes-kernel-fit-image` class.
3394 3394
3395 :term:`FIT_PAD_ALG` 3395 :term:`FIT_PAD_ALG`
3396 Specifies the padding algorithm used in creating the FIT Image. 3396 Specifies the padding algorithm used in creating the FIT Image.
3397 The default value is set to "pkcs-1.5" by the 3397 The default value is set to "pkcs-1.5" by the
3398 :ref:`ref-classes-kernel-fitimage` class. 3398 :ref:`ref-classes-kernel-fit-image` class.
3399 3399
3400 :term:`FIT_SIGN_INDIVIDUAL` 3400 :term:`FIT_SIGN_INDIVIDUAL`
3401 If set to "1", the :ref:`ref-classes-kernel-fitimage` class signs each 3401 If set to "1", the :ref:`ref-classes-kernel-fit-image` class signs each
3402 image node individually, including the kernel, DTB, RAM disk, and any 3402 image node individually, including the kernel, DTB, RAM disk, and any
3403 other image types present in the FIT image, in addition to signing the 3403 other image types present in the FIT image, in addition to signing the
3404 configuration nodes. 3404 configuration nodes.
@@ -3431,13 +3431,13 @@ system and gives an overview of their function and contents.
3431 :term:`FIT_SIGN_NUMBITS` 3431 :term:`FIT_SIGN_NUMBITS`
3432 Size of the private key used in the FIT image, in number of bits. 3432 Size of the private key used in the FIT image, in number of bits.
3433 The default value for this variable is set to "2048" 3433 The default value for this variable is set to "2048"
3434 by the :ref:`ref-classes-kernel-fitimage` class. 3434 by the :ref:`ref-classes-kernel-fit-image` class.
3435 3435
3436 :term:`FIT_UBOOT_ENV` 3436 :term:`FIT_UBOOT_ENV`
3437 This variable allows to add a U-Boot script as a text file to the 3437 This variable allows to add a U-Boot script as a text file to the
3438 FIT image. Such a script can be sourced from the U-Boot shell. 3438 FIT image. Such a script can be sourced from the U-Boot shell.
3439 3439
3440 When inheriting the :ref:`ref-classes-kernel-fitimage` class a 3440 When inheriting the :ref:`ref-classes-kernel-fit-image` class a
3441 script file should be included in the :term:`SRC_URI` of the Linux 3441 script file should be included in the :term:`SRC_URI` of the Linux
3442 kernel recipe. 3442 kernel recipe.
3443 3443
@@ -5075,9 +5075,7 @@ system and gives an overview of their function and contents.
5075 :term:`KERNEL_CLASSES` 5075 :term:`KERNEL_CLASSES`
5076 A list of classes defining kernel image types that the 5076 A list of classes defining kernel image types that the
5077 :ref:`ref-classes-kernel` class should inherit. You typically 5077 :ref:`ref-classes-kernel` class should inherit. You typically
5078 append this variable to enable extended image types. An example is 5078 append this variable to enable extended image types.
5079 ":ref:`ref-classes-kernel-fitimage`", which enables
5080 FIT image support and resides in ``meta/classes-recipe/kernel-fitimage.bbclass``.
5081 You can register custom kernel image types with the 5079 You can register custom kernel image types with the
5082 :ref:`ref-classes-kernel` class using this variable. 5080 :ref:`ref-classes-kernel` class using this variable.
5083 5081
@@ -8764,6 +8762,28 @@ system and gives an overview of their function and contents.
8764 image), compared to just using the :ref:`ref-classes-create-spdx` class 8762 image), compared to just using the :ref:`ref-classes-create-spdx` class
8765 with no option. 8763 with no option.
8766 8764
8765 :term:`SPDX_INCLUDE_COMPILED_SOURCES`
8766 This option allows the same as :term:`SPDX_INCLUDE_SOURCES` but including
8767 only the sources used to compile the host tools and the target packages.
8768 While :term:`SPDX_INCLUDE_SOURCES` includes all files in the source
8769 directory as source file descriptions, :term:`SPDX_INCLUDE_COMPILED_SOURCES`
8770 includes only the sources that are used to produce the binaries delivered
8771 as packages. The source files that are not used during compilation are not
8772 included in the SBOM. It uses debugsource information generated during
8773 ``do_package`` to filter out source files.
8774
8775 This enables an external tool to use the SPDX information to disregard
8776 vulnerabilities that are not compiled in the packages.
8777
8778 Enable this option as follows::
8779
8780 SPDX_INCLUDE_COMPILED_SOURCES = "1"
8781
8782 According to our tests, building ``core-image-minimal`` for the
8783 ``qemux86-64`` machine, enabling this option compared with the
8784 :term:`SPDX_INCLUDE_SOURCES` reduces the size of the ``tmp/deploy/spdx``
8785 directory from 2GB to 1.6GB.
8786
8767 :term:`SPDX_NAMESPACE_PREFIX` 8787 :term:`SPDX_NAMESPACE_PREFIX`
8768 This option could be used in order to change the prefix of ``spdxDocument`` 8788 This option could be used in order to change the prefix of ``spdxDocument``
8769 and the prefix of ``documentNamespace``. It is set by default to 8789 and the prefix of ``documentNamespace``. It is set by default to
@@ -10321,13 +10341,13 @@ system and gives an overview of their function and contents.
10321 :term:`UBOOT_DTB_LOADADDRESS` 10341 :term:`UBOOT_DTB_LOADADDRESS`
10322 Specifies the load address for the dtb image used by U-Boot. During FIT 10342 Specifies the load address for the dtb image used by U-Boot. During FIT
10323 image creation, the :term:`UBOOT_DTB_LOADADDRESS` variable is used in 10343 image creation, the :term:`UBOOT_DTB_LOADADDRESS` variable is used in
10324 :ref:`ref-classes-kernel-fitimage` class to specify the load address to be 10344 :ref:`ref-classes-kernel-fit-image` class to specify the load address to be
10325 used in creating the dtb sections of Image Tree Source for the FIT image. 10345 used in creating the dtb sections of Image Tree Source for the FIT image.
10326 10346
10327 :term:`UBOOT_DTBO_LOADADDRESS` 10347 :term:`UBOOT_DTBO_LOADADDRESS`
10328 Specifies the load address for the dtbo image used by U-Boot. During FIT 10348 Specifies the load address for the dtbo image used by U-Boot. During FIT
10329 image creation, the :term:`UBOOT_DTBO_LOADADDRESS` variable is used in 10349 image creation, the :term:`UBOOT_DTBO_LOADADDRESS` variable is used in
10330 :ref:`ref-classes-kernel-fitimage` class to specify the load address to be 10350 :ref:`ref-classes-kernel-fit-image` class to specify the load address to be
10331 used in creating the dtbo sections of Image Tree Source for the FIT image. 10351 used in creating the dtbo sections of Image Tree Source for the FIT image.
10332 10352
10333 :term:`UBOOT_ENTRYPOINT` 10353 :term:`UBOOT_ENTRYPOINT`
@@ -10339,7 +10359,7 @@ system and gives an overview of their function and contents.
10339 - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation. 10359 - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation.
10340 - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation. 10360 - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation.
10341 10361
10342 This variable is used by the :ref:`ref-classes-kernel-fitimage`, 10362 This variable is used by the :ref:`ref-classes-kernel-fit-image`,
10343 :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`, 10363 :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`,
10344 :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` 10364 :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign`
10345 classes. 10365 classes.
@@ -10616,7 +10636,7 @@ system and gives an overview of their function and contents.
10616 - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation. 10636 - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation.
10617 - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation. 10637 - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation.
10618 10638
10619 This variable is used by the :ref:`ref-classes-kernel-fitimage`, 10639 This variable is used by the :ref:`ref-classes-kernel-fit-image`,
10620 :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`, 10640 :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`,
10621 :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` 10641 :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign`
10622 classes. 10642 classes.
@@ -10644,15 +10664,15 @@ system and gives an overview of their function and contents.
10644 10664
10645 :term:`UBOOT_MKIMAGE` 10665 :term:`UBOOT_MKIMAGE`
10646 Specifies the name of the mkimage command as used by the 10666 Specifies the name of the mkimage command as used by the
10647 :ref:`ref-classes-kernel-fitimage` class to assemble 10667 :ref:`ref-classes-kernel-fit-image` class to assemble
10648 the FIT image. This can be used to substitute an alternative command, wrapper 10668 the FIT image. This can be used to substitute an alternative command, wrapper
10649 script or function if desired. The default is "uboot-mkimage". 10669 script or function if desired. The default is "uboot-mkimage".
10650 10670
10651 :term:`UBOOT_MKIMAGE_DTCOPTS` 10671 :term:`UBOOT_MKIMAGE_DTCOPTS`
10652 Options for the device tree compiler passed to ``mkimage -D`` feature 10672 Options for the device tree compiler passed to ``mkimage -D`` feature
10653 while creating a FIT image with the :ref:`ref-classes-kernel-fitimage` 10673 while creating a FIT image with the :ref:`ref-classes-kernel-fit-image`
10654 class. If :term:`UBOOT_MKIMAGE_DTCOPTS` is not set then the 10674 class. If :term:`UBOOT_MKIMAGE_DTCOPTS` is not set then the
10655 :ref:`ref-classes-kernel-fitimage` class will not pass the ``-D`` option 10675 :ref:`ref-classes-kernel-fit-image` class will not pass the ``-D`` option
10656 to ``mkimage``. 10676 to ``mkimage``.
10657 10677
10658 This variable is also used by the :ref:`ref-classes-uboot-sign` class. 10678 This variable is also used by the :ref:`ref-classes-uboot-sign` class.
@@ -10663,42 +10683,42 @@ system and gives an overview of their function and contents.
10663 10683
10664 :term:`UBOOT_MKIMAGE_SIGN` 10684 :term:`UBOOT_MKIMAGE_SIGN`
10665 Specifies the name of the mkimage command as used by the 10685 Specifies the name of the mkimage command as used by the
10666 :ref:`ref-classes-kernel-fitimage` class to sign 10686 :ref:`ref-classes-kernel-fit-image` class to sign
10667 the FIT image after it has been assembled (if enabled). This can be used 10687 the FIT image after it has been assembled (if enabled). This can be used
10668 to substitute an alternative command, wrapper script or function if 10688 to substitute an alternative command, wrapper script or function if
10669 desired. The default is "${:term:`UBOOT_MKIMAGE`}". 10689 desired. The default is "${:term:`UBOOT_MKIMAGE`}".
10670 10690
10671 :term:`UBOOT_MKIMAGE_SIGN_ARGS` 10691 :term:`UBOOT_MKIMAGE_SIGN_ARGS`
10672 Optionally specifies additional arguments for the 10692 Optionally specifies additional arguments for the
10673 :ref:`ref-classes-kernel-fitimage` class to pass to the 10693 :ref:`ref-classes-kernel-fit-image` class to pass to the
10674 mkimage command when signing the FIT image. 10694 mkimage command when signing the FIT image.
10675 10695
10676 :term:`UBOOT_RD_ENTRYPOINT` 10696 :term:`UBOOT_RD_ENTRYPOINT`
10677 Specifies the entrypoint for the RAM disk image. During FIT image 10697 Specifies the entrypoint for the RAM disk image. During FIT image
10678 creation, the :term:`UBOOT_RD_ENTRYPOINT` variable is used in 10698 creation, the :term:`UBOOT_RD_ENTRYPOINT` variable is used in
10679 :ref:`ref-classes-kernel-fitimage` class to specify the entrypoint to be 10699 :ref:`ref-classes-kernel-fit-image` class to specify the entrypoint to be
10680 used in creating the Image Tree Source for the FIT image. 10700 used in creating the Image Tree Source for the FIT image.
10681 10701
10682 :term:`UBOOT_RD_LOADADDRESS` 10702 :term:`UBOOT_RD_LOADADDRESS`
10683 Specifies the load address for the RAM disk image. During FIT image 10703 Specifies the load address for the RAM disk image. During FIT image
10684 creation, the :term:`UBOOT_RD_LOADADDRESS` variable is used in 10704 creation, the :term:`UBOOT_RD_LOADADDRESS` variable is used in
10685 :ref:`ref-classes-kernel-fitimage` class to specify the load address to 10705 :ref:`ref-classes-kernel-fit-image` class to specify the load address to
10686 be used in creating the Image Tree Source for the FIT image. 10706 be used in creating the Image Tree Source for the FIT image.
10687 10707
10688 :term:`UBOOT_SIGN_ENABLE` 10708 :term:`UBOOT_SIGN_ENABLE`
10689 Enable signing of FIT image. The default value is "0". 10709 Enable signing of FIT image. The default value is "0".
10690 10710
10691 This variable is used by the :ref:`ref-classes-kernel-fitimage`, 10711 This variable is used by the :ref:`ref-classes-kernel-fit-image`,
10692 :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` 10712 :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign`
10693 classes. 10713 classes.
10694 10714
10695 :term:`UBOOT_SIGN_KEYDIR` 10715 :term:`UBOOT_SIGN_KEYDIR`
10696 Location of the directory containing the RSA key and certificate used for 10716 Location of the directory containing the RSA key and certificate used for
10697 signing FIT image, used by the :ref:`ref-classes-kernel-fitimage` and 10717 signing FIT image, used by the :ref:`ref-classes-kernel-fit-image` and
10698 :ref:`ref-classes-uboot-sign` classes. 10718 :ref:`ref-classes-uboot-sign` classes.
10699 10719
10700 :term:`UBOOT_SIGN_KEYNAME` 10720 :term:`UBOOT_SIGN_KEYNAME`
10701 The name of keys used by the :ref:`ref-classes-kernel-fitimage` class 10721 The name of keys used by the :ref:`ref-classes-kernel-fit-image` class
10702 for signing U-Boot FIT image stored in the :term:`UBOOT_SIGN_KEYDIR` 10722 for signing U-Boot FIT image stored in the :term:`UBOOT_SIGN_KEYDIR`
10703 directory. If we have for example a ``dev.key`` key and a ``dev.crt`` 10723 directory. If we have for example a ``dev.key`` key and a ``dev.crt``
10704 certificate stored in the :term:`UBOOT_SIGN_KEYDIR` directory, you will 10724 certificate stored in the :term:`UBOOT_SIGN_KEYDIR` directory, you will
diff --git a/documentation/ref-manual/yocto-project-supported-features.rst b/documentation/ref-manual/yocto-project-supported-features.rst
index 345280d67d..f67da0e6e8 100644
--- a/documentation/ref-manual/yocto-project-supported-features.rst
+++ b/documentation/ref-manual/yocto-project-supported-features.rst
@@ -92,10 +92,10 @@ Below is a list of primary tested features, their maintainer(s) and builder(s):
92 - meta-exein layer testing 92 - meta-exein layer testing
93 - TBD 93 - TBD
94 - meta-exein 94 - meta-exein
95 * - `meta-virtualization <https://git.yoctoproject.org/meta-virtualization/>`__ 95 * - `meta-webosose <https://github.com/webosose/meta-webosose>`__
96 - meta-virtualization layer testing 96 - meta-webosose layer testing
97 - TBD 97 - TBD
98 - meta-virt 98 - meta-webosose
99 * - :ref:`Multilib <dev-manual/libraries:Combining Multiple Versions of Library Files into One Image>` 99 * - :ref:`Multilib <dev-manual/libraries:Combining Multiple Versions of Library Files into One Image>`
100 - Multilib feature testing 100 - Multilib feature testing
101 - Collective effort 101 - Collective effort
@@ -114,7 +114,7 @@ Below is a list of primary tested features, their maintainer(s) and builder(s):
114 - pkgman-non-rpm (other builders use RPM by default) 114 - pkgman-non-rpm (other builders use RPM by default)
115 * - :ref:`Patchtest <contributor-guide/submit-changes:Validating Patches with Patchtest>` 115 * - :ref:`Patchtest <contributor-guide/submit-changes:Validating Patches with Patchtest>`
116 - Patchtest tool selftests 116 - Patchtest tool selftests
117 - TBD 117 - Collective effort
118 - patchtest-selftest 118 - patchtest-selftest
119 * - :wikipedia:`RISC-V (64-bit) <RISC-V>` 119 * - :wikipedia:`RISC-V (64-bit) <RISC-V>`
120 - RISC-V architecture testing (64-bit) 120 - RISC-V architecture testing (64-bit)
@@ -211,20 +211,19 @@ builder(s):
211 - PowerPC architecture testing (32-bit) 211 - PowerPC architecture testing (32-bit)
212 - TBD 212 - TBD
213 - qemuppc, 213 - qemuppc,
214 qemuppc-alt,
215 qemuppc-tc 214 qemuppc-tc
216 * - :oe_git:`meta-openembedded </meta-openembedded>` 215 * - :oe_git:`meta-openembedded </meta-openembedded>`
217 - meta-openembedded layer testing 216 - meta-openembedded layer testing
218 - TBD 217 - Collective effort / openembedded-devel mailing list <openebedded-devel@lists.openembedded.org>
219 - meta-oe 218 - meta-oe
220 * - `meta-mingw <https://git.yoctoproject.org/meta-mingw>`__ 219 * - `meta-mingw <https://git.yoctoproject.org/meta-mingw>`__
221 - mingw based SDKs testing 220 - mingw based SDKs testing
222 - TBD 221 - TBD
223 - meta-mingw 222 - meta-mingw
224 * - `meta-webosose <https://github.com/webosose/meta-webosose>`__ 223 * - `meta-virtualization <https://git.yoctoproject.org/meta-virtualization/>`__
225 - meta-webosose layer testing 224 - meta-virtualization layer testing
226 - TBD 225 - meta-virtualization mailing list <meta-virtualization@lists.yoctoproject.org>
227 - meta-webosose 226 - meta-virt
228 * - :wikipedia:`RISC-V (32-bit) <RISC-V>` 227 * - :wikipedia:`RISC-V (32-bit) <RISC-V>`
229 - RISC-V architecture testing (32-bit) 228 - RISC-V architecture testing (32-bit)
230 - Collective effort 229 - Collective effort
@@ -256,6 +255,10 @@ it is on a best effort only basis.
256 qemumips-alt, 255 qemumips-alt,
257 qemumips-tc, 256 qemumips-tc,
258 qemumips64-tc 257 qemumips64-tc
258 * - :wikipedia:`PowerPC (32-bit) <PowerPC>` Systemd
259 - PowerPC architecture testing (32-bit) with systemd
260 - No maintainers
261 - qemuppc-alt
259 * - :wikipedia:`PowerPC (64-bit) <PowerPC>` 262 * - :wikipedia:`PowerPC (64-bit) <PowerPC>`
260 - PowerPC architecture testing (64-bit) 263 - PowerPC architecture testing (64-bit)
261 - No maintainers 264 - No maintainers