#!/bin/sh

set -eu

DEV='vnd0'
MOUNT='mnt'
IMG='openbsd-install.img'
IMG_BS='1K' # 1 KiB
IMG_SIZE=256 # KiB

mkdir -p "$MOUNT"

if [ -z "$(mount | grep -e "^/dev/${DEV}c on .*/$MOUNT type")" ]; then
	if [ -z "$(vnconfig -l | grep -e "^$DEV: covering $IMG ")" ]; then
		echo '=== dd'
		dd 'if=/dev/zero' "of=$IMG" "bs=$IMG_BS" "count=$IMG_SIZE"
		echo

		echo '=== vnconfig'
		vnconfig -v "$DEV" "$IMG"
		echo
	fi

	echo '=== fdisk'
	fdisk -viy "/dev/r${DEV}c"
	echo

	echo '=== disklabel'
	echo '/mnt * 100%' | disklabel -vwAT- "${DEV}c"
	echo

	echo '=== newfs'
	newfs "${DEV}c"
	echo

	echo '=== mount'
	mount -v "/dev/${DEV}c" "$MOUNT"
	echo
fi

echo '=== copy'
echo 'install.sub'
install -o 0 -g 0 -m 0755 install.sub      "$MOUNT/"
echo 'install.md'
install -o 0 -g 0 -m 0644 install.md/amd64 "$MOUNT/install.md"
echo

echo '=== umount'
umount -v "$MOUNT"
echo

echo '=== vnconfig -u'
vnconfig -vu "$DEV"
echo
