Problems adding initramfs when using FIT image
Anders Montonen <[email protected]> Mon, 11 May 2026 12:48:02 +0300
| Newsgroups | org.yoctoproject.lists.yocto |
|---|---|
| Message-ID | <[email protected]> |
Hi, I’m trying to add an initrd to our build and I’m running into some weird issues. We are using Scarthgap with our own BSP and application layers, but the issues are at least partially reproducible with just Poky. In my local.conf I have INITRAMFS_IMAGE = “core-image-minimal-initramfs” Depending on the value of INITRAMFS_IMAGE_BUNDLE I get different results, neither of which seems correct, or what I expected. With INITRAMFS_IMAGE_BUNDLE = “1”, the /boot directory of the rootfs contains a dangling “fitImage” symlink, but the actual image is missing. With INITRAMFS_IMAGE_BUNDLE = “0”, the /boot directory of the rootfs contains both the symlink and the image it is pointing at, but the image does not contain the initramfs image. If I look in the image deploy directory, a FIT image containing the initramfs has been created, but it does not get pulled into the image. To reproduce with Poky, clone and checkout the “Scarthgap” branch, add the following to the local.conf and then build core-image-minimal: MACHINE = “genericarm64" INITRAMFS_IMAGE = “core-image-minimal-initramfs” KERNEL_CLASSES += “kernel-fitimage” KERNEL_IMAGETYPE:genericarm64 = “fitImage” INITRAMFS_IMAGE_BUNDLE = “0” The boot directory of the rootfs will contain a “fitImage-6.6.123-yocto-standard” FIT image, but when inspected with uboot-dumpimage -l, it contains only the kernel and configuration. The image deploy directory will also contain a “fitImage-core-image-minimal-initramfs-genericarm64–6.6.123+git0……” image that contains both the kernel and the initramfs. If you try to build Poky with INITRAMFS_IMAGE_BUNDLE = “1” this will fail in do_image_wic because the file “fitImage-initramfs-genericarm64.bin” can’t be found in the image deploy directory, which may be related. Is there something simple I’m missing here? Regards, Anders