[PATCH 3/3] defaultenv: add login autoboot support
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Wed Aug 10 06:47:10 EDT 2011
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 > $@
diff --git a/defaultenv/common/bin/boot_timeout b/defaultenv/common/bin/boot_timeout
new file mode 100644
index 0000000..a469ef3
--- /dev/null
+++ b/defaultenv/common/bin/boot_timeout
@@ -0,0 +1,10 @@
+. /env/config
+
+echo
+echo -n "Hit any key to stop autoboot: "
+timeout -a $autoboot_timeout
+if [ $? != 0 ]; then
+ exit
+fi
+
+boot
diff --git a/defaultenv/common/bin/init b/defaultenv/common/bin/init
index b66f7d9..5c4ea00 100644
--- a/defaultenv/common/bin/init
+++ b/defaultenv/common/bin/init
@@ -24,11 +24,4 @@ if [ -f /env/bin/init_board ]; then
/env/bin/init_board
fi
-echo
-echo -n "Hit any key to stop autoboot: "
-timeout -a $autoboot_timeout
-if [ $? != 0 ]; then
- exit
-fi
-
-boot
+boot_timeout
diff --git a/defaultenv/login/bin/boot_timeout b/defaultenv/login/bin/boot_timeout
new file mode 100644
index 0000000..96a7690
--- /dev/null
+++ b/defaultenv/login/bin/boot_timeout
@@ -0,0 +1,15 @@
+. /env/config
+
+echo
+echo -n "Login in ${autoboot_timeout}s to stop autoboot: "
+echo
+login -t $autoboot_timeout
+
+echo
+echo -n "Hit any key to stop autoboot: "
+timeout -a $autoboot_timeout
+if [ $? != 0 ]; then
+ exit
+fi
+
+boot
--
1.7.5.4
More information about the barebox
mailing list