#!/bin/sh -e

devfile="$1"
mountpoint="$2"
keyfile="$3"

if [ -z "$keyfile" ]; then
	echo >&2 usage: `basename $0` devfile mountpoint keyfile
	exit 1
fi
if [ "`id -u`" != 0 ]; then
	echo >&2 you need to be root
	exit 1
fi

uid="${SUDO_UID:-0}"
gid="${SUDO_GID:-0}"
fs=ext2
bs=2048

loopdev=`losetup -f`
echo "using $loopdev"

losetup -K "$keyfile" -e AES128 "$loopdev" "$devfile"
mkfs -t "$fs" "$loopdev"
tune2fs -r 0 "$loopdev"

mount -t "$fs" "$loopdev" "$mountpoint"
chown -R $uid:$gid "$mountpoint"
chmod -R go-rwx "$mountpoint"
umount "$loopdev"
losetup -d "$loopdev"
