#!/bin/sh -ex

PREREQ="usbram_ram"
prereqs()
{
	echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
	prereqs
	exit 0
	;;
esac

USBRAM_FILE=${USBRAM_FILE:-root.squashfs}
USBRAM=${USBRAM:-no}

rootmnt=${rootmnt:-/}

for x in $(cat /proc/cmdline); do
	case ${x} in
	usbram_file=*)
		USBRAM_FILE=${x#*=}
		;;
	usbram=*)
		USBRAM=${x#*=}
		;;
	esac
done

modprobe aufs

R=/aufs
mkdir -p ${R}/ro
mkdir -p ${R}/rw
mkdir -p ${R}/mnt

mount -t squashfs /dev/ram0 ${R}/ro
mount -t tmpfs -o size=$((128 * 1024 * 1024)) aufs-tmpfs ${R}/rw

mount -t aufs -o dirs=${R}/rw=rw:${R}/ro=ro aufs ${R}/mnt

mkdir -p ${R}/mnt/ro
mkdir -p ${R}/mnt/rw
mkdir -p ${R}/mnt/rr

mount --move ${R}/ro ${R}/mnt/ro
mount --move ${R}/rw ${R}/mnt/rw
mount --move ${R}/mnt ${R}/

grep -v '[[:space:]]/var[[:space:]]' ${R}/ro/etc/fstab | grep -v '[[:space:]]/[[:space:]]' > ${R}/etc/fstab

if [ "x${rootmnt}" != "x/" ]; then
	mount --move ${rootmnt} ${R}/rr
	mount --move ${R} ${rootmnt}
fi
