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...

Cheers,

Richard





_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to