]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
kernel.bbclass: remove support for type fitImage
authorAdrian Freihofer <adrian.freihofer@siemens.com>
Tue, 3 Jun 2025 08:23:30 +0000 (10:23 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 5 Jun 2025 10:01:24 +0000 (11:01 +0100)
kernel.bbclass is no longer involved in FIT image creation. Whether a
FIT image is built now depends entirely on whether the linux-yocto-fitimage
recipe (or any other recipe capable of producing a FIT image) is selected
for the build.
As a result, specifying the kernel image type "fitImage" in
KERNEL_IMAGETYPE or KERNEL_IMAGETYPES is no longer necessary and gets
removed.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/kernel.bbclass

index 36ce659762ee44cba72a3304e6d1f955bb1c9eab..2d9943c8a0afb1b64c896364dda05dbc76624c26 100644 (file)
@@ -84,6 +84,10 @@ python __anonymous () {
         types = (alttype + ' ' + types).strip()
     d.setVar('KERNEL_IMAGETYPES', types)
 
+    # Since kernel-fitimage.bbclass got replaced by kernel-fit-image.bbclass
+    if "fitImage" in types:
+        bb.error("fitImage is no longer supported as a KERNEL_IMAGETYPE(S). FIT images are built by the linux-yocto-fitimage recipe.")
+
     # KERNEL_IMAGETYPES may contain a mixture of image types supported directly
     # by the kernel build system and types which are created by post-processing
     # the output of the kernel build system (e.g. compressing vmlinux ->
@@ -477,17 +481,10 @@ kernel_do_install() {
        install -d ${D}/${KERNEL_IMAGEDEST}
 
        #
-       # When including an initramfs bundle inside a FIT image, the fitImage is created after the install task
-       # by do_assemble_fitimage_initramfs.
-       # This happens after the generation of the initramfs bundle (done by do_bundle_initramfs).
-       # So, at the level of the install task we should not try to install the fitImage. fitImage is still not
-       # generated yet.
-       # After the generation of the fitImage, the deploy task copies the fitImage from the build directory to
-       # the deploy folder.
+       # bundle_initramfs runs after do_install before do_deploy. do_deploy does what's needed therefore.
        #
-
        for imageType in ${KERNEL_IMAGETYPES} ; do
-               if [ $imageType != "fitImage" ] || [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ] ; then
+               if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ] ; then
                        install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType ${D}/${KERNEL_IMAGEDEST}/$imageType-${KERNEL_VERSION}
                fi
        done
@@ -845,9 +842,6 @@ kernel_do_deploy() {
 
        if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
                for imageType in ${KERNEL_IMAGETYPES} ; do
-                       if [ "$imageType" = "fitImage" ] ; then
-                               continue
-                       fi
                        initramfsBaseName=$imageType-${INITRAMFS_NAME}
                        install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType.initramfs $deployDir/$initramfsBaseName${KERNEL_IMAGE_BIN_EXT}
                        if [ -n "${INITRAMFS_LINK_NAME}" ] ; then