xref: /openbsd/distrib/sparc64/miniroot/Makefile (revision cc8dae91)
1*cc8dae91Smiod#	$OpenBSD: Makefile,v 1.32 2024/01/19 20:06:00 miod Exp $
20e7957e6Sjason
34675fc66SderaadtFS=		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
1447fa51d5SderaadtMRDISKTYPE=	rdroot
1547fa51d5SderaadtMRMAKEFSARGS=	-o disklabel=${MRDISKTYPE},minfree=0,density=4096
160e7957e6Sjason
17378ab638Sderaadtall: ${FS} ${CDROM}
1847fa51d5Sderaadt
1947fa51d5Sderaadt${FS}: bsd.gz
2047fa51d5Sderaadt	dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE}
2127592c65Skrw	vnconfig -v -t ${FSDISKTYPE} ${FS} > vnd
2227592c65Skrw	echo '/ *' | disklabel -wAT- `cat vnd`
23012c3ccaSkrw	newfs -O 1 -m 0 -o space -i 524288 -c ${FSSIZE} -b 8192 -f 4096 /dev/r`cat vnd`a
247b572f1fSderaadt	mount /dev/`cat vnd`a ${MOUNT_POINT}
2547fa51d5Sderaadt	install -c -m 555 -o root -g wheel \
260e6c59ceSderaadt	    ${DESTDIR}/usr/mdec/ofwboot ${MOUNT_POINT}/ofwboot
2747fa51d5Sderaadt	installboot -v -r ${MOUNT_POINT} `cat vnd` \
2847fa51d5Sderaadt	    ${DESTDIR}/usr/mdec/bootblk ${MOUNT_POINT}/ofwboot
290e6c59ceSderaadt	install -c -m 555 -o root -g wheel bsd.gz ${MOUNT_POINT}/bsd
30fad8bdf9Sderaadt	df -i ${MOUNT_POINT}
317b572f1fSderaadt	umount ${MOUNT_POINT}
327b572f1fSderaadt	vnconfig -u `cat vnd`
337b572f1fSderaadt	rm -f vnd
340e7957e6Sjason
35017348fdSderaadt${CDROM}: bsd.rd ${FS}
36378ab638Sderaadt	rm -rf ${.OBJDIR}/cd-dir
37baed9b61Ssemarie	mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
38baed9b61Ssemarie	cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
39baed9b61Ssemarie	ln ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd
40baed9b61Ssemarie	cp ${DESTDIR}/usr/mdec/ofwboot ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
41378ab638Sderaadt
42378ab638Sderaadt	echo 'm 1	sun4' > ${.OBJDIR}/cd-dir/.slicemapfile
43378ab638Sderaadt	echo 'm 2	sun4c' >> ${.OBJDIR}/cd-dir/.slicemapfile
44378ab638Sderaadt	echo 'm 3	sun4m' >> ${.OBJDIR}/cd-dir/.slicemapfile
45378ab638Sderaadt	echo 'm 4	sun4d' >> ${.OBJDIR}/cd-dir/.slicemapfile
46378ab638Sderaadt	echo 'm 5	sun4u' >> ${.OBJDIR}/cd-dir/.slicemapfile
47378ab638Sderaadt	echo 'm 5	sun4us' >> ${.OBJDIR}/cd-dir/.slicemapfile
48378ab638Sderaadt	echo 'm 6	sun4v' >> ${.OBJDIR}/cd-dir/.slicemapfile
49378ab638Sderaadt	mkhybrid -a -R -r -T -L -d -D -N \
50baed9b61Ssemarie	    -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \
51378ab638Sderaadt	    -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
52378ab638Sderaadt	    -p "Theo de Raadt <deraadt@openbsd.org>" \
53baed9b61Ssemarie	    -V "OpenBSD/${MACHINE} ${OSREV} boot-only CD" \
54378ab638Sderaadt	    -o ${.OBJDIR}/${CDROM} ${.OBJDIR}/cd-dir
55378ab638Sderaadt	vnconfig -v ${CDROM} > vnd
56baed9b61Ssemarie	disklabel -w `cat vnd` fakecdrom "OpenBSD${OSrev}${MACHINE}"
57378ab638Sderaadt	vnconfig -u `cat vnd`
58378ab638Sderaadt	rm -f vnd
59017348fdSderaadt	mksuncd f ${CDROM} ${FS}
60378ab638Sderaadt
6147fa51d5Sderaadtbsd.gz: bsd.rd
6232d40e93Ssemarie	objcopy -S -R .comment -R .SUNW_ctf \
6332d40e93Ssemarie	    -K rd_root_size -K rd_root_image \
6432d40e93Ssemarie	    bsd.rd bsd.strip
650e6c59ceSderaadt	gzip -9cn bsd.strip > bsd.gz
660e7957e6Sjason
67c2ec8100Skrwbsd.rd: mr.fs
680e6c59ceSderaadt	cp bsd bsd.rd
690e6c59ceSderaadt	rdsetroot bsd.rd mr.fs
700e7957e6Sjason
7147fa51d5Sderaadtbsd:
720e6c59ceSderaadt	cd ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK} && \
73ce5d0fa6Skn	    su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE} ${MFLAGS}'
740e6c59ceSderaadt	cp -p ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK}/obj/bsd bsd
750e7957e6Sjason
76c2ec8100Skrwmr.fs: instbin bsd
7747fa51d5Sderaadt	rm -rf $@.d
7847fa51d5Sderaadt	install -d -o root -g wheel $@.d
7947fa51d5Sderaadt	mtree -def ${MTREE} -p $@.d -u
8047fa51d5Sderaadt	CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \
8147fa51d5Sderaadt	    TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
8247fa51d5Sderaadt	    sh ${UTILS}/runlist.sh ${LISTS}
8347fa51d5Sderaadt	rm $@.d/instbin
8447fa51d5Sderaadt	makefs ${MRMAKEFSARGS} $@ $@.d
850e7957e6Sjason
8647fa51d5Sderaadtinstbin.mk instbin.cache instbin.c: instbin.conf
8747fa51d5Sderaadt	crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \
8847fa51d5Sderaadt	    -c instbin.c -e instbin -m instbin.mk instbin.conf
8947fa51d5Sderaadt
9047fa51d5Sderaadtinstbin: instbin.mk instbin.cache instbin.c
91ce5d0fa6Skn	${MAKE} ${MFLAGS} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all
920e7957e6Sjason
93e602012dSderaadtinstbin.conf: ${LISTS}
94e602012dSderaadt	awk -f ${UTILS}/makeconf.awk  ${LISTS} > instbin.conf
95e602012dSderaadt
96ac6586e9Sderaadtunconfig:
977b572f1fSderaadt	-umount -f ${MOUNT_POINT}
987b572f1fSderaadt	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
99ac6586e9Sderaadt
10078d13a4fSderaadt.ifdef RELEASEDIR
1010e7957e6Sjasoninstall:
102378ab638Sderaadt	cp bsd.rd ${RELEASEDIR}/bsd.rd
10347fa51d5Sderaadt	chmod a+r ${RELEASEDIR}/bsd.rd
1044d23fe49Sderaadt	cp ${FS} ${RELEASEDIR}
1054d23fe49Sderaadt	cp ${CDROM} ${RELEASEDIR}
10678d13a4fSderaadt.endif
1070e7957e6Sjason
10847fa51d5Sderaadtclean cleandir:
10903c1d9f7Sderaadt	rm -f *.core mr.fs instbin instbin.mk instbin*.cache \
110*cc8dae91Smiod	    lib*.a lib*.olist instbin.map instbin.conf \
1110e6c59ceSderaadt	    *.o *.lo *.c bsd bsd.rd bsd.gz bsd.strip ${FS}
11203c1d9f7Sderaadt	rm -rf mr.fs.d
11303c1d9f7Sderaadt	rm -rf ${CDROM} ${.OBJDIR}/cd-dir
1140e7957e6Sjason
1150e7957e6Sjason.include <bsd.obj.mk>
116