]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
part/fsresize: fix on systems without initrd.
authorArne Fitzenreiter <arne_f@ipfire.org>
Wed, 5 Nov 2014 13:27:59 +0000 (14:27 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Wed, 5 Nov 2014 18:08:30 +0000 (19:08 +0100)
/proc/mounts has no correct entry for / on such systems.
Use mount instead.

src/initscripts/init.d/fsresize
src/initscripts/init.d/partresize

index 325c731af849ab8e78f9ae348f7cf0070f6f69b6..79aeb36fc7e089a2818afc4061b67210ec78ee9c 100644 (file)
@@ -21,7 +21,7 @@ case "${1}" in
                        boot_mesg "Re-sizing root partition..."
 
                        # Find root device
                        boot_mesg "Re-sizing root partition..."
 
                        # Find root device
-                       while read -r dev mountpoint fs options; do
+                       mount | while read -r dev tmp1 mountpoint tmp2; do
                                # Skip generic entries
                                [ "${dev}" = "rootfs" ] && continue
 
                                # Skip generic entries
                                [ "${dev}" = "rootfs" ] && continue
 
@@ -33,7 +33,7 @@ case "${1}" in
                                        rm -f /.resizefs
                                        break
                                fi
                                        rm -f /.resizefs
                                        break
                                fi
-                       done < /proc/mounts
+                       done
                fi
                ;;
 
                fi
                ;;
 
index 38c5683166e034c93c7f7abd8d6768ecac3dd6fc..8c05f4d15e6e11921039e0ac75d4045ec7af691d 100644 (file)
@@ -22,8 +22,14 @@ case "${1}" in
                        mount -o remount,rw / > /dev/null
                        evaluate_retval
 
                        mount -o remount,rw / > /dev/null
                        evaluate_retval
 
+                       boot_mesg "Create /etc/mtab..."
+                       > /etc/mtab
+                       mount -f / || failed=1
+                       (exit ${failed})
+                       evaluate_retval
+
                        # Detect device
                        # Detect device
-                       while read -r dev mountpoint fs options; do
+                       mount | while read -r dev tmp1 mountpoint tmp2; do
                                [ "${dev}" = "rootfs" ] && continue
 
                                if [ "${mountpoint}" = "/" ]; then
                                [ "${dev}" = "rootfs" ] && continue
 
                                if [ "${mountpoint}" = "/" ]; then
@@ -57,7 +63,7 @@ case "${1}" in
                                        sleep 15
                                        reboot -f
                                fi
                                        sleep 15
                                        reboot -f
                                fi
-                       done < /proc/mounts
+                       done
                fi
                ;;
        *)
                fi
                ;;
        *)