From 378f720090508d5c8c04f1b0265ba729f6ce827b Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 21 Feb 2019 16:00:02 +0000 Subject: kernel: Ensure an initramfs is added if configured If ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio does not exist, nor any of the compressed variants, nothing is copied to kernel build's ./usr directory. The code does not fail, but silently proceeds without a bundled initramfs. Change to fail and tell the user something is wrong. Also, if an initramfs is found, contrary to the comments, it does not stop at the first uncompressed/compressed cpio image found. Instead it keeps processing all so the last is used. Fix this to behave as per the comments. [YOCTO #12909] (Patch by Leon Woestenberg) (From OE-Core rev: 5b5604e288af755eb5553a97d26533445b2cf94b) Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/classes/kernel.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'meta/classes') diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 45cb4fabc1..bd185e258e 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -224,9 +224,11 @@ copy_initramfs() { break ;; esac + break fi done - echo "Finished copy of initramfs into ./usr" + # Verify that the above loop found a initramfs, fail otherwise + [ -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ] && echo "Finished copy of initramfs into ./usr" || die "Could not find any ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio{.gz|.lz4|.lzo|.lzma|.xz) for bundling; INITRAMFS_IMAGE_NAME might be wrong." } do_bundle_initramfs () { -- cgit 1.2.3-korg