summaryrefslogtreecommitdiffstats
path: root/generic/etc
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2011-04-10 20:32:07 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2011-05-09 15:52:57 +0200
commit015683c407330bf189b77f8e15bb687aa5c3ac5a (patch)
tree5ac5cf50e7d66c27b98f17715672dc32065b7c19 /generic/etc
parent12aae3b692266aba0dec58c590ae08a499be47bb (diff)
downloadptxdist-015683c407330bf189b77f8e15bb687aa5c3ac5a.tar.gz
ptxdist-015683c407330bf189b77f8e15bb687aa5c3ac5a.tar.xz
rc-once: add config files for systemd initmethod
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'generic/etc')
-rw-r--r--generic/etc/init.d/rc-once34
1 files changed, 7 insertions, 27 deletions
diff --git a/generic/etc/init.d/rc-once b/generic/etc/init.d/rc-once
index 78dfb6020..2387c3157 100644
--- a/generic/etc/init.d/rc-once
+++ b/generic/etc/init.d/rc-once
@@ -2,50 +2,30 @@
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-RC_ONCE_DIR=/etc/rc.once.d
-DONE_DIR="$RC_ONCE_DIR/.done"
-STAMP="$DONE_DIR/rc-once"
-
. /lib/init/initmethod-bbinit-functions.sh
+. /lib/init/rc-once.sh
-run_start() {
+do_start() {
test -e "$STAMP" && return
mount_root_rw || exit 1
- export RC_ONCE_FAILED=no
- echo "running rc.once.d services..."
- cd "$RC_ONCE_DIR" || exit 1
- mkdir -p "$DONE_DIR"
- for script in *; do
- test -x "$script" || continue
- test -e "$DONE_DIR/$script" && continue
- "$RC_ONCE_DIR/$script"
- if [ $? -ne 0 ]; then
- echo "running $script failed."
- RC_ONCE_FAILED=yes
- else
- : > "$DONE_DIR/$script"
- fi
- done
- if [ "$RC_ONCE_FAILED" != "yes" ]; then
- : > "$STAMP"
- fi
- mount_root_restore || (
+ run_rc_once && : > "$STAMP"
+
+ if ! mount_root_restore; then
# remounting rw/ro during the second boot will flush anything
# left in the filesystem journal
rm "$STAMP"
reboot
sleep 100
- )
+ fi
}
case "$1" in
start)
- run_start >&2
+ do_start >&2
;;
-
*)
echo "Usage: $0 {start}" >&2
exit 1