4 if [ "x$VNDEVICE" = "x" ] ; then
22 if [ ! -b /dev/${VNDEVICE} -o ! -c /dev/r${VNDEVICE} ] ; then
23 ( cd /dev && sh MAKEDEV ${VNDEVICE} )
26 umount /dev/${VNDEVICE} 2>/dev/null || true
28 umount ${MNT} 2>/dev/null || true
30 vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true
32 dd of=fs-image if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null
33 # this suppresses the `invalid primary partition table: no magic'
34 awk 'BEGIN {printf "%c%c", 85, 170}' |\
35 dd of=fs-image obs=1 seek=510 conv=notrunc 2>/dev/null
37 vnconfig -s labels -c /dev/r${VNDEVICE} fs-image
39 if [ "`uname -m`" = "alpha" ]; then
40 disklabel -Brw -b ${RD}/trees/bin/usr/mdec/boot1 \
41 /dev/r${VNDEVICE} ${FSLABEL}
44 -b ${RD}/trees/bin/usr/mdec/fdboot \
45 -s ${RD}/trees/bin/usr/mdec/bootfd \
46 /dev/r${VNDEVICE} ${FSLABEL}
48 newfs -u 0 -t 0 -i ${FSINODE} -m 0 -T ${FSLABEL} -o space /dev/r${VNDEVICE}c
50 mount /dev/${VNDEVICE}c ${MNT}
52 ( set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT} )
56 set `df -ki /mnt | tail -1`
60 fsck -p /dev/r${VNDEVICE}c < /dev/null
62 vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true
64 if ! echo $FSLABEL | grep -q minimum; then
65 echo ${FSSIZE} > fs-image.size
69 echo ">>> Filesystem is ${FSSIZE} K, $4 left"
70 echo ">>> ${FSINODE} bytes/inode, $7 left"
71 echo ">>> `expr ${FSSIZE} \* 1024 / ${FSINODE}`"
72 echo ${FSSIZE} > fs-image.size