[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