On 04/07/2016 01:56 PM, Marek Vasut wrote:
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 <rbilo...@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 ?
Yes, it makes sense for me.
I'll send updated patch soon
Best regards,
Ruslan
+ else: target_image = 'zImage'
+
+ d.setVar("KERNEL_IMAGETYPE_FOR_MAKE", target_image)
}
do_uboot_mkimage() {
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core