########################################################################
# Begin $rc_base/init.d/partresize
#
-# Description : Resize the /var partition to the drivesize
+# Description : Resize the root partition to the drivesize
#
# Authors : Arne Fitzenreiter - arne_f@ipfire.org
#
-# Version : 1.00
+# Version : 1.04
#
# Notes :
#
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
ROOT=`mount | grep -m1 " / " | cut -d" " -f1`;
if [ "${ROOT:`expr length $ROOT`-2:1}" == "p" ]; then
DRV=${ROOT::`expr length $ROOT`-1}
fi
- boot_mesg "Change Partition 4 to all free space ..."
- echo -e 'd\n4\nn\np\n4\n\n\nw\nq\n' | fdisk ${DRV}
+ boot_mesg "Change Partition ${DRV}3 to all free space ..."
+ echo -e ',+' | sfdisk --no-reread -f -N3 ${DRV} 2>/dev/null
+
+ boot_mesg "Update c,h,s values of ${DRV}1 ..."
+ echo -e ',' | sfdisk --no-reread -f -N1 ${DRV} &> /dev/null
# Erase symlink, it should run only once
rm -f /etc/rc.d/rcsysinit.d/S25partresize
boot_mesg "Rebooting ..."
sync
- mount -o remount,ro / > /dev/null
+ mount -o remount,ro / &> /dev/null
+ sleep 15
reboot -f
;;
esac
# End $rc_base/init.d/partresize
-