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