]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel: Ensure an initramfs is added if configured
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 21 Feb 2019 16:00:02 +0000 (16:00 +0000)
committerArmin Kuster <akuster808@gmail.com>
Fri, 22 Mar 2019 21:40:46 +0000 (14:40 -0700)
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 <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/classes/kernel.bbclass

index 45cb4fabc1855447255a5743790017a360eed192..bd185e258ea124ca73504fbeede57c0adbf19270 100644 (file)
@@ -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 () {