[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