need some clarification on how environments work
Robert P. J. Day
rpjday at crashcourse.ca
Wed Feb 8 06:01:08 EST 2012
On Wed, 8 Feb 2012, Sascha Hauer wrote:
... snip ...
> This is not the whole truth. CONFIG_DEFAULT_ENVIRONMENT_PATH can be
> a list of directories. All pathes in this list are copied into a
> temporary directory. This means that you can compose your
> environment out of different directories. This also means that you
> can overwrite files with more specific versions.
> If CONFIG_DEFAULT_ENVIRONMENT is enabled 'defaultenv' will be added
> to the start of the list. So defaultenv/ contains a 'config' files
> with FIXMEs. This is normally overwritten with the contents of your
> board specific config file in arch/<arch>/<board>/env/config.
i think what is needed here is an agreement on *terminology*. you
can't document anything properly unless you can *name* it. so what
names should be used here?
consider the file referred to above, whose name is *actually*
arch/<arch>/boards/<board>/env/config (correct?), an example being,
say, arch/arm/boards/panda/env/config. what is the official name of
this "config" file?
sascha called it the "board-specific config file"? everyone good
with that? it could just as easily be called the "board-specific
environment file". whatever. a couple questions about it. first,
will there always be just one of them per board, and will it always be
named "config"? i *think* so but i refuse to make any assumptions.
and second, is it an error if a board has no such file? currently,
the beagleboard has no such file. is that an acceptable state of
affairs? or is it something that should be resolved? the
"freescale-mx23-evk" board directory also doesn't have one, and there
might be others. so what should be done there?
and i want to correct what sascha wrote above, when he wrote:
> If CONFIG_DEFAULT_ENVIRONMENT is enabled 'defaultenv' will be added
> to the start of the list. So defaultenv/ contains a 'config' files
> with FIXMEs.
actually, here's that part of common/Makefile:
ifdef CONFIG_DEFAULT_ENVIRONMENT
$(obj)/startup.o: include/generated/barebox_default_env.h
$(obj)/env.o: include/generated/barebox_default_env.h
ifeq ($(CONFIG_DEFAULT_ENVIRONMENT_GENERIC),y)
DEFAULT_ENVIRONMENT_PATH = "defaultenv"
endif
so it would appear to be CONFIG_DEFAULT_ENVIRONMENT_GENERIC that
dictates whether the file defaultenv/config is imported as part of the
environment.
anyway, feel free to clarify all of this while i think up more
questions. :-)
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
More information about the barebox
mailing list