#! /bin/sh -

set -e
SIZE=$1
LANG=$2
TYPE=$3
SRC=$4

if [ ! -f kernel.kz ]; then
	echo "-> ERROR: you must build kernel.kz first"
	exit 1
fi

echo "-> Preparing 1.44 floppy filesystem..."
umount /dev/vn0 2> /dev/null || true
umount /mnt 2> /dev/null || true
vnconfig -u /dev/rvn0 2> /dev/null || true

dd of=picobsd.flp if=/dev/zero count=1440 bs=1k 2> /dev/null

awk 'BEGIN {printf "%c%c", 85, 170}' | \
                dd of=picobsd.flp obs=1 seek=510 conv=notrunc  2> /dev/null

#vnconfig -s labels -c /dev/rvn0 picobsd.flp 2>/dev/null
vnconfig -c /dev/rvn0 picobsd.flp 2>/dev/null
if [ "X$?" != "X0" ]
then
	echo "-> ERROR while doing vnconfig of picobsd.flp on /dev/rvn0..."
	echo "-> Aborting $0"
	exit 10
fi

dd if=/usr/mdec/boot1 of=picobsd.flp conv=notrunc 2> /dev/null

disklabel -Brw -b /usr/mdec/fdboot -s /usr/mdec/bootfd /dev/rvn0 fd1440 2>&1 >/dev/null
if [ "X$?" != "X0" ]
then
	echo "-> ERROR while labeling picobsd.flp on /dev/rvn0..."
	echo "-> Aborting $0"
	exit 10
fi

newfs -i 65536 -m 0 -p 0 -o space /dev/rvn0c 2>&1 >/dev/null

mount /dev/vn0c /mnt

pwd=`pwd`

cd ../${TYPE}/floppy.tree
echo "-> Copying language dependent files..."
for i in hosts motd rc rc.conf rc.network resolv.conf
do
	cp ../lang/${i}.${LANG} etc/${i}
done
cp ../lang/boot.help.${LANG} ./boot.help

echo "-> Populating floppy filesystem..."
find . -print|cpio -pmdu /mnt 2>&1 >/dev/null
if [ "X$?" != "X0" ]
then
	echo "-> ERROR while transferring ../${TYPE}/floppy.tree to /mnt..."
	echo "-> Aborting $0"
	exit 10
fi

cd ${pwd}
cp kernel.kz /mnt/kernel
if [ "X$?" != "X0" ]
then
	echo "-> ERROR while transferring kernel.kz to /mnt..."
	echo "-> Aborting $0"
	exit 10
fi
rm kernel.kz

df -ik /mnt
echo "Press any key to continue..."
read junk


umount /mnt
vnconfig -u /dev/rvn0
