diff options
Diffstat (limited to 'poky/documentation/ref-manual/classes.rst')
-rw-r--r-- | poky/documentation/ref-manual/classes.rst | 50 |
1 files changed, 36 insertions, 14 deletions
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index 5a30ce379..be112e0fa 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -278,7 +278,7 @@ The ``ccache`` class enables the C/C++ Compiler Cache for the build. This class is used to give a minor performance boost during the build. However, using the class can lead to unexpected side-effects. Thus, it is recommended that you do not use this class. See -http://ccache.samba.org/ for information on the C/C++ Compiler +https://ccache.samba.org/ for information on the C/C++ Compiler Cache. .. _ref-classes-chrpath: @@ -931,7 +931,7 @@ For information on customizing images, see the in the Yocto Project Development Tasks Manual. For information on how images are created, see the ":ref:`overview-manual/concepts:images`" section in the -Yocto Project Overview and Concpets Manual. +Yocto Project Overview and Concepts Manual. .. _ref-classes-image-buildinfo: @@ -1374,39 +1374,61 @@ generation. ``kernel-fitimage.bbclass`` =========================== -The ``kernel-fitimage`` class provides support to pack a kernel Image, -device trees and a RAM disk into a single FIT image. In theory, a FIT -image can support any number of kernels, RAM disks and device-trees. +The ``kernel-fitimage`` class provides support to pack a kernel image, +device trees, a U-boot script, a Initramfs bundle and a RAM disk +into a single FIT image. In theory, a FIT image can support any number +of kernels, U-boot scripts, Initramfs bundles, RAM disks and device-trees. However, ``kernel-fitimage`` currently only supports -limited usescases: just one kernel image, an optional RAM disk, and -any number of device tree. +limited usescases: just one kernel image, an optional U-boot script, +an optional Initramfs bundle, an optional RAM disk, and any number of +device tree. To create a FIT image, it is required that :term:`KERNEL_CLASSES` -is set to "kernel-fitimage" and :term:`KERNEL_IMAGETYPE` +is set to include "kernel-fitimage" and :term:`KERNEL_IMAGETYPE` is set to "fitImage". -The options for the device tree compiler passed to mkimage -D feature +The options for the device tree compiler passed to ``mkimage -D`` when creating the FIT image are specified using the :term:`UBOOT_MKIMAGE_DTCOPTS` variable. Only a single kernel can be added to the FIT image created by ``kernel-fitimage`` and the kernel image in FIT is mandatory. The -address where the kernel image is to be loaded by U-boot is +address where the kernel image is to be loaded by U-Boot is specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. Multiple device trees can be added to the FIT image created by ``kernel-fitimage`` and the device tree is optional. -The address where the device tree is to be loaded by U-boot is +The address where the device tree is to be loaded by U-Boot is specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries. Only a single RAM disk can be added to the FIT image created by ``kernel-fitimage`` and the RAM disk in FIT is optional. -The address where the RAM disk image is to be loaded by U-boot +The address where the RAM disk image is to be loaded by U-Boot is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by :term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when -:term:`INITRAMFS_IMAGE` is specified. +:term:`INITRAMFS_IMAGE` is specified and that :term:`INITRAMFS_IMAGE_BUNDLE` +is set to 0. + +Only a single Initramfs bundle can be added to the FIT image created by +``kernel-fitimage`` and the Initramfs bundle in FIT is optional. +In case of Initramfs, the kernel is configured to be bundled with the rootfs +in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin). +When the kernel is copied to RAM and executed, it unpacks the Initramfs rootfs. +The Initramfs bundle can be enabled when :term:`INITRAMFS_IMAGE` +is specified and that :term:`INITRAMFS_IMAGE_BUNDLE` is set to 1. +The address where the Initramfs bundle is to be loaded by U-boot is specified +by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. + +Only a single U-boot boot script can be added to the FIT image created by +``kernel-fitimage`` and the boot script is optional. +The boot script is specified in the ITS file as a text file containing +U-boot commands. When using a boot script the user should configure the +U-boot ``do_install`` task to copy the script to sysroot. +So the script can be included in the the FIT image by the ``kernel-fitimage`` +class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to +load the boot script from the FIT image and executes it. The FIT image generated by ``kernel-fitimage`` class is signed when the variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, @@ -2581,7 +2603,7 @@ the :term:`SYSTEMD_BOOT_CFG`, :term:`SYSTEMD_BOOT_TIMEOUT` variables. You can also see the `Systemd-boot -documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__ +documentation <https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__ for more information. .. _ref-classes-terminal: |