xref: /openbsd/distrib/sparc64/miniroot/Makefile (revision 4675fc66)
1*4675fc66Sderaadt#	$OpenBSD: Makefile,v 1.22 2020/05/17 17:04:28 deraadt Exp $
20e7957e6Sjason
3*4675fc66SderaadtFS=		miniroot${OSrev}.img
4ca9b3991SderaadtFSSIZE=		6400
547fa51d5SderaadtFSDISKTYPE=	fakeramdisk
6378ab638SderaadtCDROM=		cd${OSrev}.iso
77b572f1fSderaadtMOUNT_POINT=	/mnt
8378ab638SderaadtMTREE=		${UTILS}/mtree.conf
90e6c59ceSderaadtRAMDISK=	RAMDISK
100e7957e6Sjason
1147fa51d5SderaadtLISTS=		${.CURDIR}/list
1247fa51d5SderaadtUTILS=		${.CURDIR}/../../miniroot
130e7957e6Sjason
1447fa51d5SderaadtSTRIPOPTS=	-R .SUNW_ctf
150e7957e6Sjason
1647fa51d5SderaadtMRDISKTYPE=	rdroot
1747fa51d5SderaadtMRMAKEFSARGS=	-o disklabel=${MRDISKTYPE},minfree=0,density=4096
180e7957e6Sjason
19378ab638Sderaadtall: ${FS} ${CDROM}
2047fa51d5Sderaadt
2147fa51d5Sderaadt${FS}: bsd.gz
2247fa51d5Sderaadt	dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE}
2347fa51d5Sderaadt	vnconfig -v ${FS} > vnd
2447fa51d5Sderaadt	disklabel -w `cat vnd` ${FSDISKTYPE}
250e6c59ceSderaadt	newfs -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a
267b572f1fSderaadt	mount /dev/`cat vnd`a ${MOUNT_POINT}
2747fa51d5Sderaadt	install -c -m 555 -o root -g wheel \
280e6c59ceSderaadt	    ${DESTDIR}/usr/mdec/ofwboot ${MOUNT_POINT}/ofwboot
2947fa51d5Sderaadt	installboot -v -r ${MOUNT_POINT} `cat vnd` \
3047fa51d5Sderaadt	    ${DESTDIR}/usr/mdec/bootblk ${MOUNT_POINT}/ofwboot
310e6c59ceSderaadt	install -c -m 555 -o root -g wheel bsd.gz ${MOUNT_POINT}/bsd
32fad8bdf9Sderaadt	df -i ${MOUNT_POINT}
337b572f1fSderaadt	umount ${MOUNT_POINT}
347b572f1fSderaadt	vnconfig -u `cat vnd`
357b572f1fSderaadt	rm -f vnd
360e7957e6Sjason
37017348fdSderaadt${CDROM}: bsd.rd ${FS}
38378ab638Sderaadt	rm -rf ${.OBJDIR}/cd-dir
39378ab638Sderaadt	mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/sparc64
40378ab638Sderaadt	cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/sparc64
41378ab638Sderaadt	ln ${.OBJDIR}/cd-dir/${OSREV}/sparc64/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/sparc64/bsd
42378ab638Sderaadt	cp ${DESTDIR}/usr/mdec/ofwboot ${.OBJDIR}/cd-dir/${OSREV}/sparc64
43378ab638Sderaadt
44378ab638Sderaadt	echo 'm 1	sun4' > ${.OBJDIR}/cd-dir/.slicemapfile
45378ab638Sderaadt	echo 'm 2	sun4c' >> ${.OBJDIR}/cd-dir/.slicemapfile
46378ab638Sderaadt	echo 'm 3	sun4m' >> ${.OBJDIR}/cd-dir/.slicemapfile
47378ab638Sderaadt	echo 'm 4	sun4d' >> ${.OBJDIR}/cd-dir/.slicemapfile
48378ab638Sderaadt	echo 'm 5	sun4u' >> ${.OBJDIR}/cd-dir/.slicemapfile
49378ab638Sderaadt	echo 'm 5	sun4us' >> ${.OBJDIR}/cd-dir/.slicemapfile
50378ab638Sderaadt	echo 'm 6	sun4v' >> ${.OBJDIR}/cd-dir/.slicemapfile
51378ab638Sderaadt	mkhybrid -a -R -r -T -L -d -D -N \
52378ab638Sderaadt	    -A "OpenBSD ${OSREV} sparc64 bootonly CD" \
53378ab638Sderaadt	    -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
54378ab638Sderaadt	    -p "Theo de Raadt <deraadt@openbsd.org>" \
55378ab638Sderaadt	    -V "OpenBSD/sparc64 ${OSREV} boot-only CD" \
56378ab638Sderaadt	    -o ${.OBJDIR}/${CDROM} ${.OBJDIR}/cd-dir
57378ab638Sderaadt	vnconfig -v ${CDROM} > vnd
58378ab638Sderaadt	disklabel -w `cat vnd` fakecdrom "OpenBSD${OSrev}sparc64"
59378ab638Sderaadt	vnconfig -u `cat vnd`
60378ab638Sderaadt	rm -f vnd
61017348fdSderaadt	mksuncd f ${CDROM} ${FS}
62378ab638Sderaadt
6347fa51d5Sderaadtbsd.gz: bsd.rd
640e6c59ceSderaadt	objcopy -Sg -R .comment bsd.rd bsd.strip
650e6c59ceSderaadt	strip ${STRIPOPTS} bsd.strip
660e6c59ceSderaadt	gzip -9cn bsd.strip > bsd.gz
670e7957e6Sjason
680e6c59ceSderaadtbsd.rd: mr.fs bsd
690e6c59ceSderaadt	cp bsd bsd.rd
700e6c59ceSderaadt	rdsetroot bsd.rd mr.fs
710e7957e6Sjason
7247fa51d5Sderaadtbsd:
730e6c59ceSderaadt	cd ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK} && \
7447fa51d5Sderaadt	    su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE}'
750e6c59ceSderaadt	cp -p ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK}/obj/bsd bsd
760e7957e6Sjason
7747fa51d5Sderaadtmr.fs: instbin
7847fa51d5Sderaadt	rm -rf $@.d
7947fa51d5Sderaadt	install -d -o root -g wheel $@.d
8047fa51d5Sderaadt	mtree -def ${MTREE} -p $@.d -u
8147fa51d5Sderaadt	CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \
8247fa51d5Sderaadt	    TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
8347fa51d5Sderaadt	    sh ${UTILS}/runlist.sh ${LISTS}
8447fa51d5Sderaadt	rm $@.d/instbin
8547fa51d5Sderaadt	makefs ${MRMAKEFSARGS} $@ $@.d
860e7957e6Sjason
8747fa51d5Sderaadtinstbin.mk instbin.cache instbin.c: instbin.conf
8847fa51d5Sderaadt	crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \
8947fa51d5Sderaadt	    -c instbin.c -e instbin -m instbin.mk instbin.conf
9047fa51d5Sderaadt
9147fa51d5Sderaadtinstbin: instbin.mk instbin.cache instbin.c
9247fa51d5Sderaadt	${MAKE} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all
930e7957e6Sjason
94e602012dSderaadtinstbin.conf: ${LISTS}
95e602012dSderaadt	awk -f ${UTILS}/makeconf.awk  ${LISTS} > instbin.conf
96e602012dSderaadt
97ac6586e9Sderaadtunconfig:
987b572f1fSderaadt	-umount -f ${MOUNT_POINT}
997b572f1fSderaadt	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
100ac6586e9Sderaadt
10178d13a4fSderaadt.ifdef RELEASEDIR
1020e7957e6Sjasoninstall:
103378ab638Sderaadt	cp bsd.rd ${RELEASEDIR}/bsd.rd
10447fa51d5Sderaadt	chmod a+r ${RELEASEDIR}/bsd.rd
1054d23fe49Sderaadt	cp ${FS} ${RELEASEDIR}
1064d23fe49Sderaadt	cp ${CDROM} ${RELEASEDIR}
10778d13a4fSderaadt.endif
1080e7957e6Sjason
10947fa51d5Sderaadtclean cleandir:
11003c1d9f7Sderaadt	rm -f *.core mr.fs instbin instbin.mk instbin*.cache \
11147fa51d5Sderaadt	    lib*.a lib*.olist instbin.map \
1120e6c59ceSderaadt	    *.o *.lo *.c bsd bsd.rd bsd.gz bsd.strip ${FS}
11303c1d9f7Sderaadt	rm -rf mr.fs.d
11403c1d9f7Sderaadt	rm -rf ${CDROM} ${.OBJDIR}/cd-dir
1150e7957e6Sjason
1160e7957e6Sjason.include <bsd.obj.mk>
117