[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