[OE-core] [PATCH] kernel-uimage: build per-architecture target image

Marek Vasut marex at denx.de
Thu Apr 7 10:56:27 UTC 2016


On 04/07/2016 09:40 AM, Ruslan Bilovol wrote:
> Commit e69525: "kernel: Build uImage only when really
> needed" hardcoded target kernel image to zImage for
> case if uImage is generated by OpenEmbedded buildsystem.
> 
> However not all kernel architectures support zImage
> target, for example AArch64 doesn't, so building of
> kernel is failing on this step. Moreover, possible
> target images may vary depending on arch.
> 
> So instead of hardcoding it to zImage, let it be
> architecture-dependent. Currently added for and
> verified with AArch64.
> 
> Signed-off-by: Ruslan Bilovol <rbilovol at cisco.com>
> ---
>  meta/classes/kernel-uimage.bbclass | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/kernel-uimage.bbclass b/meta/classes/kernel-uimage.bbclass
> index f73965b..a6a5912 100644
> --- a/meta/classes/kernel-uimage.bbclass
> +++ b/meta/classes/kernel-uimage.bbclass
> @@ -1,6 +1,8 @@
>  inherit kernel-uboot
>  
>  python __anonymous () {
> +    import re
> +
>      kerneltype = d.getVar('KERNEL_IMAGETYPE', True)
>      if kerneltype == 'uImage':
>          depends = d.getVar("DEPENDS", True)
> @@ -13,7 +15,12 @@ python __anonymous () {
>  	# KEEPUIMAGE == yes. Otherwise, we pack compressed vmlinux into
>  	# the uImage .
>  	if d.getVar("KEEPUIMAGE", True) != 'yes':
> -            d.setVar("KERNEL_IMAGETYPE_FOR_MAKE", "zImage")
> +            kernelarch = d.getVar('ARCH', True)
> +
> +            if re.match('arm64', kernelarch): target_image = 'Image'

I'm not quite convinced it's a great idea to add arch-specific handling
into generic bbclass. By checking kernel-uboot.bbclass, I see you only
need to generate vmlinux for both the uImage and fitImage, so I suspect
this should be set to "vmlinux" for both arm32 and arch64. What do you
think ?

> +            else: target_image = 'zImage'
> +
> +            d.setVar("KERNEL_IMAGETYPE_FOR_MAKE", target_image)
>  }
>  
>  do_uboot_mkimage() {
> 


-- 
Best regards,
Marek Vasut



More information about the Openembedded-core mailing list