#!/bin/sh

fstype=minix
echo "$fstype"
dircomm=$(dirname $0)
comm=$(basename $0)
if [ ! -x "./$comm" ] ; then
	echo "$comm should be executed in home: cd $dircomm"
	cd $dircomm
fi
# woaf-ref is the source for image

. makewoaf-Config

echo "You might need to select one or more NIC or other types of module"
#ls -aR modules
#read kmp
#cp modules/$kmp woaf-ref/lib/modules/.

mkdir $MNTDIR 2>/dev/null
MY_DEST_DIR=$(cd $RD_ROOT ; pwd)

echo 
echo "---------------------------------------------------"
echo "Creating ramdisk image..."
echo "                    --> this takes up to 2 minutes"
echo "---------------------------------------------------"

echo ; echo "Make a file of ${RD_SIZE}k and use loop device on it"
dd if=/dev/zero of=$TMPFILE bs=1k count=$RD_SIZE
if ! `losetup $LOOPDEV $TMPFILE`; then
	echo "losetup did NOT run correctly."
	echo "Please make sure you have loop device, losetup, and are root."
	rm -f $TMPFILE
	exit 0
fi

echo "Make $fstype fs on loopdev and mount it"
mkfs.$fstype $LOOPDEV > /dev/null
if [ "$?" != "0" ] ; then
	echo "ERROR $? MAKING $fstype FS!"
	exit $?
fi
mount $LOOPDEV $MNTDIR -t $fstype
if [ "$?" != "0" ] ; then
	echo "ERROR $? MOUNTING LOOPDEV!"
	losetup -d $LOOPDEV
	exit $?
fi

echo -n "Copying ramdisk contents to loopdev... "
cd $RD_ROOT;tar cf ../newfs.tar *; cd -
cd $MNTDIR; tar xf ../newfs.tar; cd -
rm -f newfs.tar
echo "done."

echo "Umount and undo loop"
umount $MNTDIR
rmdir $MNTDIR 2>/dev/null
losetup -d $LOOPDEV

echo "Wait...Creating rd image compressed with ${ZIP}"
dd if=$TMPFILE | ${ZIP} -9 > $RD_IMAGE
rm -f $TMPFILE

echo -n "Waiting until everthing is written... "
sync

####################################################################################################

PACKING=50
KERNELSIZE=$(ls -s $RD_KERNEL | (read KS DUMMY; echo $KS))
IMAGESIZE=$(ls -s $RD_IMAGE | (read IS DUMMY; echo $IS))

# Look total size

TOTAL=$(du -c $RD_KERNEL $RD_IMAGE |tail -1|cut -f1)
TOTAL=$[ $TOTAL + $PACKING ]
echo Done
