#! /bin/sh -

#
#	$Id: stage3,v 1.4 1999/01/14 23:14:46 abial Exp $
#
set -e

. ../Version

if [ ! -f kernel.gz ]; then
	echo "-> ERROR: you must build kernel.gz 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.bin if=/dev/zero count=1440 bs=1k 2> /dev/null

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

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

dd if=/usr/mdec/boot1 of=picobsd.bin 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.bin on /dev/rvn0..."
	echo "-> Aborting $0"
	exit 10
fi

newfs -i 32768 -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 resolv.conf
do
	cat ../lang/${i}.${LANGUAGE} | \
		sed -e "s/@VER@/${VER}/g" > \
		etc/${i}
done
if [ "${TYPE}" != "router" ]
then
	cat ../lang/rc.conf.${LANGUAGE} | \
		sed -e "s/@VER@/${VER}/g" > \
		etc/rc.conf
	cat ../lang/rc.network.${LANGUAGE}| \
		sed -e "s/@VER@/${VER}/g" > \
		etc/rc.network
fi

echo "-> Populating floppy filesystem..."
cat ../lang/boot.help.${LANGUAGE} | \
	sed -e "s/@VER@/${VER}/g" > \
	/mnt/boot.help
cp -pr . /mnt
rm -rf /mnt/CVS /mnt/etc/CVS /mnt/etc/ppp/CVS
if [ "${TYPE}" = "dial" ]
then
	pwd_mkdb -d etc/ etc/master.passwd
	mv etc/spwd.db /mnt/etc/
	rm etc/pwd.db
fi

if [ "X$?" != "X0" ]
then
	echo "-> ERROR while transferring ../${TYPE}/floppy.tree to /mnt..."
	echo "-> Aborting $0"
	exit 10
fi

cd ${pwd}
cp kernel.gz /mnt/kernel.gz
if [ "X$?" != "X0" ]
then
	echo "-> ERROR while transferring kernel.gz to /mnt..."
	echo "-> Aborting $0"
	exit 10
fi
mkdir /mnt/boot
cp /boot/loader .
kzip -v loader
mv loader.kz /mnt/boot/loader
rm -f loader loader.o
echo "/boot/loader" >/mnt/boot.config
echo "load /kernel">/mnt/boot/loader.rc
echo "load -t userconfig_script /kernel.config">>/mnt/boot/loader.rc
(echo "-> Fixing permissions"; cd /mnt; chown -R root *)
rm kernel.gz

df -ik /mnt

umount /mnt
vnconfig -u /dev/rvn0
