[OE-core] [PATCH] Add KERNEL_EXTRA_ARGS parameter

Darren Hart dvhart at linux.intel.com
Tue May 8 15:20:40 UTC 2012



On 05/03/2012 07:28 AM, Richard Purdie wrote:
> On Thu, 2012-05-03 at 16:02 +0200, Koen Kooi wrote:
>> Op 3 mei 2012, om 15:48 heeft Wolfgang Denk het volgende geschreven:
>>
>>> With recent kernel versions, some ARM configurations need may fail to
>>> build with errors like this:
>>>
>>> 	multiple load addresses: 0x80008000 0x80008000
>>> 	This is incompatible with uImages
>>> 	Specify LOADADDR on the commandline to build an uImage
>>>
>>> We cannot pass this information in EXTRA_OEMAKE, as
>>> "meta/classes/kernel.bbclass" explicitly ignores all EXTRA_OEMAKE
>>> settings.  So add KERNEL_EXTRA_ARGS parameter so affected boards
>>> can add for example
>>>
>>> 	KERNEL_EXTRA_ARGS = "LOADADDR=0x80008000"
>>
>> Isn't KERNEL_EXTRA_OEMAKE clearer in this case? I see kernel args
>> being what ends up in /proc/cmdline.
> 
> In many ways I wish we could use EXTRA_OEMAKE and try and keep the API
> simpler. Looking at the code, I think it actually can work even with the
> existing code in some circumstances.
> 
> Whilst kernel.bbclass does zero out the contents, it does this simply to
> get rid of the default value (the -e MAKEARGS= bit).
> 
> The following recipe will therefore work:
> 
> """
> <some recipe code>
> 
> inherit kernel
> 
> EXTRA_OEMAKE += 'LOADADDR=0x80008000'
> """
> 
> but the problem is likely this can't be set from machine.conf.
> 
> I was wondering about changing the system so that in bitbake.conf we
> set:
> 
> OEMAKEDEFAULT = "-e MAKEFLAGS="
> EXTRA_OEMAKE = "${OEMAKEDEFAULT}"
> 
> and then kernel.bbclass can zero out OEMAKEDEFAULT. The trouble is you
> want to set:
> 
> EXTRA_OEMAKE_append_xxxx = " LOADADDR=0x80008000"
> 
> and I'm not coming up with a good value of xxxx other than
> pn-linux-xxxx :/. We could consider an extra override for the kernel
> case I guess.
> 
> I would prefer not to add mode global variables unless we can possibly
> help it...

I like the idea of reusing EXTRA_OEMAKE. Unfortunately, by the time we
have to add _append_pn-linux-yocto it seems like the benefit is lost and
I prefer Koen's KERNEL_EXTRA_OEMAKE suggestion.

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel




More information about the Openembedded-core mailing list