xref: /openbsd/distrib/armv7/miniroot/Makefile.inc (revision e5dd7070)
1#	$OpenBSD: Makefile.inc,v 1.27 2020/05/18 06:20:43 otto Exp $
2
3FS=		miniroot-${BOARD}-${OSrev}.img
4FSSIZE=		67584	# ffs+msdos, actually
5MOUNT_POINT=	/mnt
6
7MKUBOOT?=	mkuboot
8
9DISKTYPE=	miniroot
10MSDOSSTART=	32768
11MSDOSSIZE=	4096
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	umount ${MOUNT_POINT}
51
52	newfs -O 1 -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a
53	mount /dev/`cat vnd`a ${MOUNT_POINT}
54	install -c -m 555 -o root -g wheel bsd.rd ${MOUNT_POINT}/bsd
55	ln ${MOUNT_POINT}/bsd ${MOUNT_POINT}/bsd.rd
56	df -i ${MOUNT_POINT}
57	umount ${MOUNT_POINT}
58	vnconfig -u `cat vnd`
59	rm -f vnd
60
61bsd.rd:
62	cp ${.OBJDIR}/../../ramdisk/bsd.rd bsd.rd
63
64unconfig:
65	-umount -f ${MOUNT_POINT}
66	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
67
68.ifdef RELEASEDIR
69install:
70	cp ${FS} ${RELEASEDIR}
71.endif
72
73clean cleandir:
74	rm -f ${FS}
75
76.include <bsd.obj.mk>
77