summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rwxr-xr-xbuild54
1 files changed, 54 insertions, 0 deletions
diff --git a/build b/build
new file mode 100755
index 0000000..4a8ae72
--- /dev/null
+++ b/build
@@ -0,0 +1,54 @@
+#!/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