diff options
Diffstat (limited to 'rc.d/init.d/halt')
-rwxr-xr-x | rc.d/init.d/halt | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/rc.d/init.d/halt b/rc.d/init.d/halt index dfb9178d..d7d113f5 100755 --- a/rc.d/init.d/halt +++ b/rc.d/init.d/halt @@ -25,7 +25,7 @@ runcmd() { halt_get_remaining() { awk '$2 ~ /^\/$|^\/proc|^\/dev/{next} $3 == "tmpfs" || $3 == "proc" {print $2 ; next} - /(^#|loopfs|autofs|devfs|^none|^\/dev\/root)/ {next} + /(^#|loopfs|autofs|devfs|^none|^\/dev\/ram|^\/dev\/root)/ {next} {print $2}' /proc/mounts } @@ -172,12 +172,15 @@ done # remove the crash indicator flag rm -f /.autofsck -# Try them all, one last time. -umount -a -f +# Try all file systems other than root and RAM disks, one last time. +mount | awk '/!( \/ |^\/dev\/root|^\/dev\/ram)/ { print $3 }' | \ + while read line; do + umount -f $line +done # Remount read only anything that's left mounted. -#echo $"Remounting remaining filesystems (if any) readonly" -mount | awk '/( \/ |^\/dev\/root)/ { print $3 }' | while read line; do +# echo $"Remounting remaining filesystems readonly" +mount | awk '{ print $3 }' | while read line; do mount -n -o ro,remount $line done |