[PATCH 3/3] defaultenv: add login autoboot support
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Thu Aug 11 11:11:13 EDT 2011
On 09:31 Thu 11 Aug , Sascha Hauer wrote:
> On Wed, Aug 10, 2011 at 12:47:10PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > if the login command is enable and a password set use login with timeout
> > to stop the boot
> >
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > ---
> > common/Makefile | 10 ++++++----
> > defaultenv/common/bin/boot_timeout | 10 ++++++++++
> > defaultenv/common/bin/init | 9 +--------
> > defaultenv/login/bin/boot_timeout | 15 +++++++++++++++
> > 4 files changed, 32 insertions(+), 12 deletions(-)
> > create mode 100644 defaultenv/common/bin/boot_timeout
> > create mode 100644 defaultenv/login/bin/boot_timeout
> >
> > diff --git a/common/Makefile b/common/Makefile
> > index 531000a..5eeb944 100644
> > --- a/common/Makefile
> > +++ b/common/Makefile
> > @@ -32,19 +32,21 @@ $(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/common"
> > +DEFAULT_ENVIRONMENT_PATH-y = "defaultenv/common"
> > +
> > +DEFAULT_ENVIRONMENT_PATH-$(CONFIG_CMD_LOGIN) += "defaultenv/login"
> > endif
> >
> > ifneq ($(CONFIG_DEFAULT_ENVIRONMENT_PATH),"")
> > -DEFAULT_ENVIRONMENT_PATH += $(CONFIG_DEFAULT_ENVIRONMENT_PATH)
> > +DEFAULT_ENVIRONMENT_PATH-y += $(CONFIG_DEFAULT_ENVIRONMENT_PATH)
> > endif
> >
> > -ENV_FILES := $(shell cd $(srctree); for i in $(DEFAULT_ENVIRONMENT_PATH); do find $${i} -type f -exec readlink -f '{}' \;; done)
> > +ENV_FILES := $(shell cd $(srctree); for i in $(DEFAULT_ENVIRONMENT_PATH-y); do find $${i} -type f -exec readlink -f '{}' \;; done)
> >
> > endif # ifdef CONFIG_DEFAULT_ENVIRONMENT
> >
> > barebox_default_env: $(ENV_FILES)
> > - $(Q)$(srctree)/scripts/genenv $(srctree) $(objtree) $(DEFAULT_ENVIRONMENT_PATH)
> > + $(Q)$(srctree)/scripts/genenv $(srctree) $(objtree) $(DEFAULT_ENVIRONMENT_PATH-y)
> >
> > include/generated/barebox_default_env.h: barebox_default_env
> > $(Q)cat $< | $(objtree)/scripts/bin2c default_environment > $@
>
> I don't like this approach. It is quite intrusive and it handles only
> one variable (CONFIG_CMD_LOGIN). If we by applying this patch tell
> people that this is the way to customize the default env then this
> is going to be a mess soon.
>
> I think you have to live with overwriting /env/bin/init in your board
> specific env or have to come up with a more general way to adjust
> the default environment.
>
here the idea is different it's default compporment for any board
if you enable login then a board is protected
the idea is make the default env configurable depending on the command enable
The idea is not obsolutly not to allow custom config in the default env just
to make it configurable
The login case is good proof of concept
Best Regards,
J.
More information about the barebox
mailing list