diff options
author | Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> | 2021-01-19 10:54:47 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-20 00:53:53 +0000 |
commit | d8698dc755e00426698b479d0dd023e35eeececb (patch) | |
tree | 514ac9eb11fa63431b8ec1444fd09f2bcf5813df /documentation | |
parent | e6a0be545d73b1052a259547afd2aa63d4b58546 (diff) | |
download | poky-d8698dc755e00426698b479d0dd023e35eeececb.tar.gz |
ref-manual/ref-classes: update kernel-fitimage with Initramfs bundle and boot script
This commit adds the description of the Initramfs bundle and boot script
new features implemented in the kernel-fitimage class.
Change-Id: Ifffa6b850308aa7ceadc4f117806cffad0137137
(From yocto-docs rev: a55c16555366c0adbf4a087b86574b07972cbc52)
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/ref-manual/classes.rst | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index f47b6e3875..be112e0faf 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst | |||
@@ -1375,11 +1375,13 @@ generation. | |||
1375 | =========================== | 1375 | =========================== |
1376 | 1376 | ||
1377 | The ``kernel-fitimage`` class provides support to pack a kernel image, | 1377 | The ``kernel-fitimage`` class provides support to pack a kernel image, |
1378 | device trees and a RAM disk into a single FIT image. In theory, a FIT | 1378 | device trees, a U-boot script, a Initramfs bundle and a RAM disk |
1379 | image can support any number of kernels, RAM disks and device trees. | 1379 | into a single FIT image. In theory, a FIT image can support any number |
1380 | of kernels, U-boot scripts, Initramfs bundles, RAM disks and device-trees. | ||
1380 | However, ``kernel-fitimage`` currently only supports | 1381 | However, ``kernel-fitimage`` currently only supports |
1381 | limited usescases: just one kernel image, an optional RAM disk, and | 1382 | limited usescases: just one kernel image, an optional U-boot script, |
1382 | any number of device trees. | 1383 | an optional Initramfs bundle, an optional RAM disk, and any number of |
1384 | device tree. | ||
1383 | 1385 | ||
1384 | To create a FIT image, it is required that :term:`KERNEL_CLASSES` | 1386 | To create a FIT image, it is required that :term:`KERNEL_CLASSES` |
1385 | is set to include "kernel-fitimage" and :term:`KERNEL_IMAGETYPE` | 1387 | is set to include "kernel-fitimage" and :term:`KERNEL_IMAGETYPE` |
@@ -1406,7 +1408,27 @@ Only a single RAM disk can be added to the FIT image created by | |||
1406 | The address where the RAM disk image is to be loaded by U-Boot | 1408 | The address where the RAM disk image is to be loaded by U-Boot |
1407 | is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by | 1409 | is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by |
1408 | :term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when | 1410 | :term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when |
1409 | :term:`INITRAMFS_IMAGE` is specified. | 1411 | :term:`INITRAMFS_IMAGE` is specified and that :term:`INITRAMFS_IMAGE_BUNDLE` |
1412 | is set to 0. | ||
1413 | |||
1414 | Only a single Initramfs bundle can be added to the FIT image created by | ||
1415 | ``kernel-fitimage`` and the Initramfs bundle in FIT is optional. | ||
1416 | In case of Initramfs, the kernel is configured to be bundled with the rootfs | ||
1417 | in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin). | ||
1418 | When the kernel is copied to RAM and executed, it unpacks the Initramfs rootfs. | ||
1419 | The Initramfs bundle can be enabled when :term:`INITRAMFS_IMAGE` | ||
1420 | is specified and that :term:`INITRAMFS_IMAGE_BUNDLE` is set to 1. | ||
1421 | The address where the Initramfs bundle is to be loaded by U-boot is specified | ||
1422 | by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. | ||
1423 | |||
1424 | Only a single U-boot boot script can be added to the FIT image created by | ||
1425 | ``kernel-fitimage`` and the boot script is optional. | ||
1426 | The boot script is specified in the ITS file as a text file containing | ||
1427 | U-boot commands. When using a boot script the user should configure the | ||
1428 | U-boot ``do_install`` task to copy the script to sysroot. | ||
1429 | So the script can be included in the the FIT image by the ``kernel-fitimage`` | ||
1430 | class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to | ||
1431 | load the boot script from the FIT image and executes it. | ||
1410 | 1432 | ||
1411 | The FIT image generated by ``kernel-fitimage`` class is signed when the | 1433 | The FIT image generated by ``kernel-fitimage`` class is signed when the |
1412 | variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, | 1434 | variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, |