ref-manual: Add documentation for kernel-fitimage

This documents kernel-fitimage.bbclass as well as
the variables that are required to use the class
to create a FIT image.

(From yocto-docs rev: 3aeca3b342e5be92be562f6dea6b71390c31b636)

Signed-off-by: Usama Arif <usama.arif@arm.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Usama Arif
2020-07-29 15:35:52 +01:00
committed by Richard Purdie
parent 392c117e7a
commit 6f9d4614e9
2 changed files with 217 additions and 1 deletions

View File

@@ -1880,8 +1880,82 @@ This check was removed for YP 2.3 release
<para>
The <filename>kernel-fitimage</filename> class provides support to
pack zImages.
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.
However, <filename>kernel-fitimage</filename> currently only supports
limited usescases: just one kernel image, an optional RAM disk, and
any number of device tree.
</para>
<para>
To create a FIT image, it is required that
<filename><link linkend='var-KERNEL_CLASSES'>KERNEL_CLASSES</link></filename>
is set to "kernel-fitimage" and
<filename><link linkend='var-KERNEL_IMAGETYPE'>KERNEL_IMAGETYPE</link></filename>
is set to "fitImage".
</para>
<para>
The options for the device tree compiler passed to mkimage -D feature
when creating the FIT image are specified using the
<filename><link linkend='var-UBOOT_MKIMAGE_DTCOPTS'>UBOOT_MKIMAGE_DTCOPTS</link></filename>
variable.
</para>
<para>
Only a single kernel can be added to the FIT image created by
<filename>kernel-fitimage</filename> and the kernel image in FIT is
mandatory.
The address where the kernel image is to be loaded by U-boot is
specified by
<filename><link linkend='var-UBOOT_LOADADDRESS'>UBOOT_LOADADDRESS</link></filename>
and the entrypoint by
<filename><link linkend='var-UBOOT_ENTRYPOINT'>UBOOT_ENTRYPOINT</link></filename>.
</para>
<para>
Multiple device trees can be added to the FIT image created by
<filename>kernel-fitimage</filename> and the device tree is optional.
The address where the device tree is to be loaded by U-boot is
specified by
<filename><link linkend='var-UBOOT_DTBO_LOADADDRESS'>UBOOT_DTBO_LOADADDRESS</link></filename>
for device tree overlays and by
<filename><link linkend='var-UBOOT_DTB_LOADADDRESS'>UBOOT_DTB_LOADADDRESS</link></filename>
for device tree binaries.
</para>
<para>
Only a single RAM disk can be added to the FIT image created by
<filename>kernel-fitimage</filename> and the RAM disk in FIT is
optional.
The address where the RAM disk image is to be loaded by U-boot
is specified by
<filename><link linkend='var-UBOOT_RD_LOADADDRESS'>UBOOT_RD_LOADADDRESS</link></filename>
and the entrypoint by
<filename><link linkend='var-UBOOT_RD_ENTRYPOINT'>UBOOT_RD_ENTRYPOINT</link></filename>.
The ramdisk is added to FIT image when
<filename><link linkend='var-INITRAMFS_IMAGE'>INITRAMFS_IMAGE</link></filename>
is specified.
</para>
<para>
The FIT image generated by <filename>kernel-fitimage</filename> class
is signed when the variables
<filename><link linkend='var-UBOOT_SIGN_ENABLE'>UBOOT_SIGN_ENABLE</link></filename>,
<filename><link linkend='var-UBOOT_MKIMAGE_DTCOPTS'>UBOOT_MKIMAGE_DTCOPTS</link></filename>,
<filename><link linkend='var-UBOOT_SIGN_KEYDIR'>UBOOT_SIGN_KEYDIR</link></filename>
and
<filename><link linkend='var-UBOOT_SIGN_KEYNAME'>UBOOT_SIGN_KEYNAME</link></filename>
are set appropriately.
The default values used for
<filename><link linkend='var-FIT_HASH_ALG'>FIT_HASH_ALG</link></filename>
and
<filename><link linkend='var-FIT_SIGN_ALG'>FIT_SIGN_ALG</link></filename>
in <filename>kernel-fitimage</filename> are "sha256" and "rsa2048"
respectively.
</para>
</section>
<section id='ref-classes-kernel-grub'>