#!/bin/sh ### BEGIN INIT INFO # Provides: resize-all # Default-Start: S # Default-Stop: # Description: Resize all internal mounted partitions ### END INIT INFO # Don't exit on error status set +e # Uncomment below to see more logs # set -x . $(dirname $0)/disk-helper LOGFILE=/tmp/resize-all.log do_part() { DEV=$1 MOUNT_POINT=$2 FSTYPE=$3 OPTS=$4 echo "Handling $DEV $MOUNT_POINT $FSTYPE $OPTS" # Setup check/mount tools and do some prepare prepare_part || return # Store ro/rw MOUNTED_RO_RW=$(touch $MOUNT_POINT &>/dev/null && echo rw || echo ro) # Resize partition if needed resize_part # Restore ro/rw remount_part $MOUNTED_RO_RW } resize_all() { echo "Will now resize all partitions in /proc/mounts" while read LINE;do do_part $LINE done < /proc/mounts } case "$1" in start|"") resize_all 2>&1 | tee $LOGFILE echo "Log saved to $LOGFILE" ;; *) echo "Usage: resize-helper start" >&2 exit 3 ;; esac :