summaryrefslogtreecommitdiff
path: root/build
blob: 4a8ae72c6bebea30156d5d81523fea3837d47536 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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