tags 252059 + patch thanks I believe this patch should solve the issue, by splitting umountfs in two, making sure the umountfs script umount everything except /, and inserting umountroot after 50lvm (picked 60umountroot fairly randomly).
It is partly based on the patch from Markus Nass in bug #319890, but I believe it is less intrusive (avoid editing mtab, do not add a config file, and do not run bootclean in umountfs. diff -urN sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountfs sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountfs --- sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountfs 2005-09-03 15:00:54.000000000 +0200 +++ sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountfs 2005-09-03 17:08:07.537229907 +0200 @@ -2,24 +2,32 @@ # # umountfs Turn off swap and unmount all local file systems. # -# Version: @(#)umountfs 2.85-16 03-Jun-2004 [EMAIL PROTECTED] +# Version: @(#)umountfs 2.85-17 03-Sep-2005 [EMAIL PROTECTED] +# Modified by Petter Reinholdtsen <[EMAIL PROTECTED]> # PATH=/sbin:/bin:/usr/sbin:/usr/bin +umask 022 echo -n "Deactivating swap..." umount -ttmpfs -a -r swapoff -a echo "done." -# -# Umount all filesystems except the virtual ones. -# -echo -n "Unmounting local filesystems..." -umount -tnoproc,noprocfs,nodevfs,nosysfs,nousbfs,nousbdevfs,nodevpts -d -a -r -echo "done." - -# This is superfluous. -mount -n -o remount,ro / +# Umount all filesystems except root and the virtual ones +echo "Unmounting local filesystems..." +# List all mounts, deepest mount point first +mount | LANG=C sort -r -k 3 | while read dev x mntpath x type x ; do + case $type in + proc|procfs|devfs|sysfs|usbfs|usbdevfs|devpts|tmpfs) + ;; # Ignoreing virtual file systems + *) + [ "/" = "$mntpath" ] && continue # root is umounted in umountroot + echo -n " umounting $mntpath..." + umount mntpath + echo "done." + ;; + esac +done : exit 0 diff -urN sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountroot sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountroot --- sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountroot 1970-01-01 01:00:00.000000000 +0100 +++ sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountroot 2005-09-03 17:08:52.753821357 +0200 @@ -0,0 +1,18 @@ +#! /bin/sh +# +# /etc/init.d/umountroot +# +# v 0.1, localtime: 2005/07/06 19:00 CEST +# +# Mount the root filesystem read-only. +# +# Written by Markus Nass <[EMAIL PROTECTED]> +# + +PATH=/sbin:/bin + +echo -n "Mounting root filesystem read-only..." +mount -n -o remount,ro / +echo "done." + +: exit 0 diff -urN sysvinit-2.86.ds1/debian/initscripts/postinst sysvinit-2.86.ds1-pere/debi an/initscripts/postinst --- sysvinit-2.86.ds1/debian/initscripts/postinst 2005-09-03 15:00:54.000000 000 +0200 +++ sysvinit-2.86.ds1-pere/debian/initscripts/postinst 2005-09-03 17:14:52.869710 591 +0200 @@ -146,6 +146,7 @@ updatercd sendsigs start 20 0 6 . updatercd umountnfs.sh start 31 0 6 . updatercd umountfs start 40 0 6 . +updatercd umountroot start 60 0 6 . updatercd halt start 90 0 . updatercd reboot start 90 6 . updatercd rmnologin start 99 2 3 4 5 . -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]