#!/bin/sh

# resize the last partition if linux

case $1 in
	ext*) RESIZE_PROG='resize2fs';;
	f2fs) RESIZE_PROG='resize.f2fs';;
	*) exit;;
esac

LAST_PARTITION=`fdisk -l /dev/mmcblk0 | grep '/dev/mmcblk0p' | tail -n 1`
PARTITION_NR=`expr "$LAST_PARTITION" : '/dev/mmcblk0p\([0-9]*\)'`
PARTITION_START=`echo "$LAST_PARTITION" | tr -s ' ' | cut -f 4 -d ' '`

echo -n "Resizing /dev/mmcblk0p${PARTITION_NR}. Please wait..."> /dev/console
(
echo d    # delete partition
echo "$PARTITION_NR"
echo n    # new partition
echo p    # primary partition
echo "$PARTITION_NR"
echo "$PARTITION_START"
echo      # default partition end to filling SD card
echo w    # write to partition table and exit
) | fdisk /dev/mmcblk0

sync
# resize FS
/bin/$RESIZE_PROG /dev/mmcblk0p"$PARTITION_NR" && exit 0 || exit 1
