Files
poky/openembedded/packages/initscripts/initscripts-1.0/openslug/umountfs
Richard Purdie 4b46c1f6e8 Initial population
git-svn-id: https://svn.o-hand.com/repos/poky@1 311d38ba-8fff-0310-9ca6-ca027cbcb966
2005-08-31 10:45:47 +00:00

1.0 KiB

#! /bin/sh

umountfs Turn off swap and unmount all local filesystems.

PATH=/sbin:/bin:/usr/sbin:/usr/bin

Ensure /proc is mounted

test -r /proc/mounts || mount -t proc proc /proc

echo "Deactivating swap..." swapoff -a

We leave /proc mounted, the umount of /dev/devpts seems to fail

quite frequently, the busybox umount apparently gives up at the

first failure, so it is necessary to go file system by file

system. It is necessary to go backward in the /proc list, because

later things may have been mounted on earlier mounts.

devfs= unmount() { local dev mp type opts if read dev mp type opts then # recurse - unmount later items unmount # skip /proc and /dev but not the sub-directories case "$mp" in /|/proc)return 0;; /dev) devfs=1 return 0;; esac # then unmount this, if possible, otherwise make # it read-only umount -f -r "$mp" fi }

echo "Unmounting local filesystems..." unmount </proc/mounts

now /dev and read-only / (halt/reboot may need /proc!)

test -n "$devfs" && umount -f -r /dev mount -o remount,ro /