Patchwork [1/2] kernel.bbclass: do_sizecheck: update path to build image

login
register
mail settings
Submitter michel.thebeau@windriver.com
Date March 20, 2013, 3:30 p.m.
Message ID <1363793436-3350-2-git-send-email-michel.thebeau@windriver.com>
Download mbox | patch
Permalink /patch/46575/
State New
Headers show

Comments

michel.thebeau@windriver.com - March 20, 2013, 3:30 p.m.
From: Michel Thebeau <michel.thebeau@windriver.com>

KERNEL_OUTPUT is a path relative to ${B}, and resolves to a soft
link to ${B}/${KERNEL_IMAGETYPE}.  When do_sizecheck runs it
does not find the file, and does not fail.

So check the size of ${B}/${KERNEL_IMAGETYPE}.

Alternative approaches to resolve this could be:
 - check ${B}/${KERNEL_OUTPUT}, with ls -L to resolve the link
 - check ${B}/${KERNEL_OUTPUT}.bin

This is related to, but does not resolve:
[YOCTO #3514]

Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
 meta/classes/kernel.bbclass |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
michel.thebeau@windriver.com - March 21, 2013, 9:07 p.m.
On 13-03-20 11:30 AM, michel.thebeau@windriver.com wrote:
> From: Michel Thebeau <michel.thebeau@windriver.com>
> 
> KERNEL_OUTPUT is a path relative to ${B}, and resolves to a soft
> link to ${B}/${KERNEL_IMAGETYPE}.  When do_sizecheck runs it
> does not find the file, and does not fail.
> 
> So check the size of ${B}/${KERNEL_IMAGETYPE}.
> 
> Alternative approaches to resolve this could be:
>  - check ${B}/${KERNEL_OUTPUT}, with ls -L to resolve the link
>  - check ${B}/${KERNEL_OUTPUT}.bin
> 


As I have moved on to bug #3515, which is to find out where the code
went for creating the stripped binary, I just realized that I misread
the size of vmlinux.bin in arch/mips/boot/.  The source code supports
that this is the stripped vmlinux the defect was looking for.

8337264 2013-03-21 16:36 vmlinux.bin

So I expect you'll want to ignore this patch while I rethink it.

M

> This is related to, but does not resolve:
> [YOCTO #3514]
> 
> Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
> ---
>  meta/classes/kernel.bbclass |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index d57d1f5..dbb571a 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -293,9 +293,9 @@ python split_kernel_packages () {
>  # with a fixed length or there is a limit in transferring the kernel to memory
>  do_sizecheck() {
>  	if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then
> -		size=`ls -l ${KERNEL_OUTPUT} | awk '{ print $5}'`
> +		size=`ls -l ${B}/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
>  		if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then
> -			rm ${KERNEL_OUTPUT}
> +			rm ${B}/${KERNEL_IMAGETYPE}
>  			die "This kernel (size=$size > ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular."
>  		fi
>  	fi
>

Patch

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index d57d1f5..dbb571a 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -293,9 +293,9 @@  python split_kernel_packages () {
 # with a fixed length or there is a limit in transferring the kernel to memory
 do_sizecheck() {
 	if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then
-		size=`ls -l ${KERNEL_OUTPUT} | awk '{ print $5}'`
+		size=`ls -l ${B}/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
 		if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then
-			rm ${KERNEL_OUTPUT}
+			rm ${B}/${KERNEL_IMAGETYPE}
 			die "This kernel (size=$size > ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular."
 		fi
 	fi