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