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

Ruslan Bilovol rbilovol at cisco.com
Thu Apr 7 07:40:29 UTC 2016


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'
+            else: target_image = 'zImage'
+
+            d.setVar("KERNEL_IMAGETYPE_FOR_MAKE", target_image)
 }
 
 do_uboot_mkimage() {
-- 
1.9.1




More information about the Openembedded-core mailing list