#!/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