From de0bb1d6c480b2945cf25f80116d963b22dd3c7a Mon Sep 17 00:00:00 2001 From: mbm Date: Thu, 10 May 2007 14:37:47 +0000 Subject: unified preinit environment git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7173 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/etc/diag.sh | 5 +++++ package/base-files/files/etc/init.d/done | 15 +++++++++++++++ package/base-files/files/etc/preinit | 14 ++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 package/base-files/files/etc/diag.sh create mode 100755 package/base-files/files/etc/init.d/done (limited to 'package/base-files/files/etc') diff --git a/package/base-files/files/etc/diag.sh b/package/base-files/files/etc/diag.sh new file mode 100644 index 000000000..7ecb7330f --- /dev/null +++ b/package/base-files/files/etc/diag.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org + +set_state() { +} diff --git a/package/base-files/files/etc/init.d/done b/package/base-files/files/etc/init.d/done new file mode 100755 index 000000000..0640b6193 --- /dev/null +++ b/package/base-files/files/etc/init.d/done @@ -0,0 +1,15 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=95 +boot() { + [ -d /tmp/root ] && { + lock /tmp/.switch2jffs + firstboot switch2jffs + lock -u /tmp/.switch2jffs + } + + # set leds to normal state + . /etc/diag.sh + set_state done +} diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit index c60a0f850..b23508f55 100755 --- a/package/base-files/files/etc/preinit +++ b/package/base-files/files/etc/preinit @@ -1,6 +1,20 @@ #!/bin/sh # Copyright (C) 2006 OpenWrt.org export PATH=/bin:/sbin:/usr/bin:/usr/sbin +. /etc/diag.sh + +failsafe() { + lock /tmp/.failsafe + ash --login +} + [ -e /etc/preinit.arch ] && . /etc/preinit.arch + +set_state preinit + mount_root ${FAILSAFE:+failsafe} + +eval ${FAILSAFE:+failsafe} +lock -w /tmp/.failsafe + exec /sbin/init -- cgit v1.2.3