[OE-core] [PATCH] kernel-uimage: build per-architecture target image
Ruslan Bilovol
rbilovol at cisco.com
Tue Apr 12 13:07:23 UTC 2016
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 <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 ?
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() {
>>
>
More information about the Openembedded-core
mailing list