diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-02-20 10:19:25 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-02-21 17:06:50 +0100 |
commit | b850dbad6557c4cd0e03c9b83be88579412cdd3f (patch) | |
tree | 482bf33f0f795da74243167520c9794523abad6f /defaultenv/defaultenv-2-base/bin/init | |
parent | 464a531423f61b5d2c5108843e12ab7057a935bb (diff) | |
download | barebox-b850dbad6557c4cd0e03c9b83be88579412cdd3f.tar.gz barebox-b850dbad6557c4cd0e03c9b83be88579412cdd3f.tar.xz |
move defaultenv-2 to defaultenv/defaultenv-2-*
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'defaultenv/defaultenv-2-base/bin/init')
-rw-r--r-- | defaultenv/defaultenv-2-base/bin/init | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/defaultenv/defaultenv-2-base/bin/init b/defaultenv/defaultenv-2-base/bin/init new file mode 100644 index 0000000000..3a0e93b49d --- /dev/null +++ b/defaultenv/defaultenv-2-base/bin/init @@ -0,0 +1,80 @@ +#!/bin/sh + +export PATH=/env/bin + +global hostname +global user +global autoboot_timeout +global boot.default +global allow_color +global linux.bootargs.base +global linux.bootargs.console +#linux.bootargs.dyn.* will be cleared at the beginning of boot +global linux.bootargs.dyn.ip +global linux.bootargs.dyn.root +global editcmd + +[ -z "${global.hostname}" ] && global.hostname=generic +[ -z "${global.user}" ] && global.user=none +[ -z "${global.autoboot_timeout}" ] && global.autoboot_timeout=3 +[ -z "${global.boot.default}" ] && global.boot.default=net +[ -z "${global.allow_color}" ] && global.allow_color=true +[ -z "${global.editcmd}" ] && global.editcmd=sedit + +[ -e /env/config-board ] && /env/config-board +/env/config + +# request password to login if a timeout is specified and password set +if [ -n ${global.login.timeout} ]; then + [ ${global.login.timeout} -gt 0 ] && login_cmd=login +fi +# allow the input if not +[ -n ${global.console.input_allow} ] && global.console.input_allow=1 + +# allow to stop the boot before execute the /env/init/* +# but without waiting +timeout -s -a -v key 0 + +if [ "${key}" = "q" ]; then + ${login_cmd} + exit +fi + +[ -n ${login_cmd} ] && global.console.input_allow=0 + +for i in /env/init/*; do + . $i +done + +if [ -e /env/menu ]; then + echo -e -n "\nHit m for menu or any other key to stop autoboot: " +else + echo -e -n "\nHit any key to stop autoboot: " +fi + +[ -n ${login_cmd} ] && global.console.input_allow=1 + +timeout -a $global.autoboot_timeout -v key +autoboot="$?" + +[ -n ${login_cmd} ] && global.console.input_allow=0 + +if [ "${key}" = "q" ]; then + ${login_cmd} + exit +fi + +if [ "$autoboot" = 0 ]; then + boot +fi + +if [ -e /env/menu ]; then + ${login_cmd} + if [ "${key}" != "m" ]; then + echo -e "\ntype exit to get to the menu" + sh + fi + /env/menu/mainmenu +fi + +${login_cmd} |