diff options
| author | Manuel Traut <manut@mecka.net> | 2011-04-29 09:09:27 +0200 |
|---|---|---|
| committer | Manuel Traut <manut@mecka.net> | 2011-04-29 09:09:27 +0200 |
| commit | 5238ad5a0c4a9e1c8cd036f5de4055e39bd71297 (patch) | |
| tree | 4407c087b9fb5432b1dc11e70b52dacfa0b99feb /beagle/debian-rfs/etc/init.d/umountroot | |
| parent | 60ead65c41afba7e6aa4bbcf507a1d52f7a8fe9f (diff) | |
added debootstrap stuff
Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'beagle/debian-rfs/etc/init.d/umountroot')
| -rwxr-xr-x | beagle/debian-rfs/etc/init.d/umountroot | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/beagle/debian-rfs/etc/init.d/umountroot b/beagle/debian-rfs/etc/init.d/umountroot new file mode 100755 index 0000000..51c4eb8 --- /dev/null +++ b/beagle/debian-rfs/etc/init.d/umountroot @@ -0,0 +1,57 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: umountroot +# Required-Start: +# Required-Stop: +# Should-Stop: halt reboot kexec +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Mount the root filesystem read-only. +### END INIT INFO + +PATH=/sbin:/bin +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +do_stop () { + [ "$VERBOSE" = no ] || log_action_begin_msg "Mounting root filesystem read-only" + # These directories must exist on the root filesystem as they are + # targets for system mountpoints. We've just unmounted all other + # filesystems, so either they are mounted now (in which case the + # mount point exists) or we can make the mountpoint. + for dir in /proc /sys /var/run /var/lock; do + mkdir -p $dir || true + done + + MOUNT_FORCE_OPT= + [ "$(uname -s)" = "GNU/kFreeBSD" ] && MOUNT_FORCE_OPT=-f + # This: + # mount -n -o remount,ro / + # will act on a bind mount of / if there is one. + # See #339023 and the comment in checkroot.sh + mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \ + || mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev / 2>/dev/null \ + || mount $MOUNT_FORCE_OPT -n -o remount,ro / + ES=$? + [ "$VERBOSE" = no ] || log_action_end_msg $ES +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac + +: |
