#!/bin/sh
FILE=$1
SIZE=$2
MOUNTPOINT=$3

usage() {
	PROG=`basename $0`
	echo "usage : $PROG FILE SIZE MOUNTPOINT"
	exit 1
}

[ -n "$3" ] || usage;

[ -d $MOUNTPOINT ] || mkdir -p $MOUNTPOINT
dd if=/dev/zero of=$FILE bs=1M count=$SIZE
# finds a free loop device
EXISTING_LOOP_DEVICES=`losetup -a | awk -F: '{print $1}'`
for i in `seq 0 9`
do EXISTS=false
  for LOOP in $EXISTING_LOOP_DEVICES
  do
    if [ "/dev/loop$i" = "$LOOP" ]
      then EXISTS=true
    fi
  done
  if [ "$EXISTS" = "false" ]
    then LOOP_DEVICE="/dev/loop$i"
    break
  fi
done
losetup $LOOP_DEVICE $FILE
cryptsetup luksFormat $LOOP_DEVICE
cryptsetup luksOpen $LOOP_DEVICE luksdevice
mke2fs -j /dev/mapper/luksdevice
mount /dev/mapper/luksdevice $MOUNTPOINT

