]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel.bbclass: fix do_sizecheck() comparison
authorAndrea Adami <andrea.adami@gmail.com>
Sat, 12 Jun 2021 22:14:03 +0000 (00:14 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 14 Jun 2021 14:05:08 +0000 (15:05 +0100)
The routine do_sizecheck() was historically needed by legacy
devices with limited flash memory.
The lowest extreme is probably with Zaurus collie having exactly
1024*1024 = 1048576 bytes for the kernel partition.

In the years the KERNEL_IMAGE_MAXSIZE has been converted to kilobytes
thus rounded so we have now KERNEL_IMAGE_MAXSIZE_collie = "1024".

The effect is that now the check fails because we hit curiously this
 | WARNING: This kernel zImage (size=1024(K) > 1024(K)) is too big for...
even though zImage is 1047288 bytes (kernel + kexecboot-klibc-initramfs).

Fix this case using test -gt (greater) instead of -ge (greater or equal).

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel.bbclass

index 8693ab86be8c878c273859f638aa7b5b7b426fdb..379bed44f24fa022966178f63f098d787e360903 100644 (file)
@@ -714,7 +714,7 @@ do_sizecheck() {
                at_least_one_fits=
                for imageType in ${KERNEL_IMAGETYPES} ; do
                        size=`du -ks ${B}/${KERNEL_OUTPUT_DIR}/$imageType | awk '{print $1}'`
-                       if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then
+                       if [ $size -gt ${KERNEL_IMAGE_MAXSIZE} ]; then
                                bbwarn "This kernel $imageType (size=$size(K) > ${KERNEL_IMAGE_MAXSIZE}(K)) is too big for your device."
                        else
                                at_least_one_fits=y