[yocto] How Does Yocto Fill In UBOOT_MACHINE?

Saul Wold sgw at linux.intel.com
Thu Aug 15 12:41:27 PDT 2013


On 08/15/2013 12:02 PM, Leo Schwab wrote:
> Thank you for replying:
>
> On Thu, Aug 15, 2013 at 11:39 AM, Saul Wold <sgw at linux.intel.com> wrote:
>> On 08/15/2013 11:15 AM, Leo Schwab wrote:
>>> ...Except I never told it to build 'ourboard'; I haven't modified
>>> conf/machine/ourboard.conf yet.  It should still be building
>>> mx6dl_sabresd_config.  So UBOOT_MACHINE is magically picking up a
>>> different value.  If I remove my .bbappend file, then it resumes using
>>> the target mx6dl_sabresd_config.
>>>
>> But you did indirectly, I have to assume that your default MACHINE is set
>> for "ourboard"
>
> Correct.
>
>> and what's happened here is when the bbappend was added, your
>> setting of UBOOT_MACHINE_ourboard is an override so it built using that
>> setting.
>> [ ... ]
>> You can see this in action by running a bitbake -e (prints the variable
>> contents and how they were determined).
>>
> Umm...  Actually, no I dont:
>
> ---
> $ bitbake -e
> [ ...blah, blah, blah...]
> # $UBOOT_MACHINE
> #   set /home/ewhac/devel/iMX6/fsl-community-bsp/sources/meta-belis3/conf/machine/ourboard.conf:12
> #     "mx6dl_sabresd_config"
> UBOOT_MACHINE="mx6dl_sabresd_config"
> [ ... ]
>
> Which is what I expected.
>
Not what I would expect, if you bbappend was in play correctly, here is 
my example:

# $UBOOT_MACHINE [4 operations]
#   set /srv/hdd/poky/meta/conf/machine/include/tune-ppce300c3.inc:13
#     "bogus"
#   finalize ast.py:328 [finalize]
#     "was: bogus"
#   override[mpc8315e-rdb]:set 
/srv/hdd/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf:11
#     "MPC8315ERDB_config"
#   finalize override[mpc8315e-rdb]:
#     "MPC8315ERDB_config"
# computed:
#   "MPC8315ERDB_config"
UBOOT_MACHINE="MPC8315ERDB_config"

And the do_compile / oe_runmake is correct with the mpc...config


> Meanwhile, in the build log
> tmp/work/..../u-boot-imx/2009.08-r16/temp/run.do_compile.29091:
>
> ----
> do_compile() {
> 	if [ "" = "ld-is-gold" ] ; then
> 		sed -i 's/$(CROSS_COMPILE)ld/$(CROSS_COMPILE)ld.bfd/g' config.mk
> 	fi
> 	if [ "" = "ld-is-gold" ] ; then
> 		sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
> 	fi
>
> 	unset LDFLAGS
> 	unset CFLAGS
> 	unset CPPFLAGS
> 	oe_runmake mx6_ournode_config   # <---- ?!?!?!
> 	oe_runmake u-boot.bin
>
> }
> ----
>
> In the process of reproducing this output, some stuff happened that
> makes me think that bitbake's cache is mildly confused.  I'll try
> scrubbing it and see if things become more consistent.  I will also
> look into the OVERRIDES mechanism.
>

Might be a cache issue, but it should recompute the hashes when you add 
or remove the .bbappend.

What version of oe-core / bitbake are you working with?

Sound likeyou are trying a clean build, you could just try "bitbake -e 
u-boot" without doing a full build and check those two items, the -e 
will also give you the do_compile() task.

Sau!
> Schwab
>
>



More information about the yocto mailing list