1#	$OpenBSD: Makefile.inc,v 1.33 2024/04/09 11:13:51 kettenis Exp $
2
3FS=		miniroot-${BOARD}-${OSrev}.img
4FSSIZE=		71424	# ffs+msdos, actually
5MOUNT_POINT=	/mnt
6
7MKUBOOT?=	mkuboot
8
9FSDISKTYPE=	miniroot
10MSDOSSTART=	32768
11MSDOSSIZE=	8192
12
13PDTB=		/usr/local/share/dtb/arm
14PUBOOT=		/usr/local/share/u-boot
15
16all: ${FS}
17
18${FS}: bsd.rd
19	dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE}
20	vnconfig -v -t ${FSDISKTYPE} ${FS} > vnd
21	fdisk -iy -b "${MSDOSSIZE}@${MSDOSSTART}:c" `cat vnd` >/dev/null
22	echo '/ *' | disklabel -wAT- `cat vnd`
23	newfs -O 1 -t msdos -L boot /dev/r`cat vnd`i
24	mount -o-l /dev/`cat vnd`i ${MOUNT_POINT}
25
26.for DTB in ${DTBS}
27	cp ${PDTB}/${DTBDIR}${DTB} ${MOUNT_POINT}/
28.endfor
29.if ${PLATFORM} == "OMAP"
30	cp ${PUBOOT}/${UBOOT}/{MLO,u-boot.img} ${MOUNT_POINT}/
31.endif
32.if ${BOARD} == "nitrogen"
33	${MKUBOOT} -t script -a arm -o linux \
34	    ${.CURDIR}/../boot.cmd ${MOUNT_POINT}/6x_bootscript
35.endif
36.if ${BOARD} == "cubox" || ${BOARD} == "wandboard"
37	dd if=${PUBOOT}/${UBOOT}/SPL of=/dev/r`cat vnd`c bs=1024 seek=1
38	dd if=${PUBOOT}/${UBOOT}/u-boot.img of=/dev/r`cat vnd`c \
39	    bs=1024 seek=69 conv=sync
40.endif
41
42	mkdir -p ${MOUNT_POINT}/efi/boot
43	cp /usr/mdec/BOOTARM.EFI ${MOUNT_POINT}/efi/boot/bootarm.efi
44	df ${MOUNT_POINT}
45	umount ${MOUNT_POINT}
46
47	newfs -O 1 -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a
48	mount /dev/`cat vnd`a ${MOUNT_POINT}
49	install -c -m 555 -o root -g wheel bsd.rd ${MOUNT_POINT}/bsd
50	ln ${MOUNT_POINT}/bsd ${MOUNT_POINT}/bsd.rd
51	df -i ${MOUNT_POINT}
52	umount ${MOUNT_POINT}
53	vnconfig -u `cat vnd`
54	rm -f vnd
55
56bsd.rd:
57	cp ${.OBJDIR}/../../ramdisk/bsd.rd bsd.rd
58
59unconfig:
60	-umount -f ${MOUNT_POINT}
61	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
62
63.ifdef RELEASEDIR
64install:
65	cp ${FS} ${RELEASEDIR}
66.endif
67
68clean cleandir:
69	rm -f ${FS}
70
71.include <bsd.obj.mk>
72