xref: /openbsd/distrib/sparc64/ramdisk/Makefile (revision cc8dae91)
1*cc8dae91Smiod#	$OpenBSD: Makefile,v 1.58 2024/01/19 20:06:00 miod Exp $
2679ae482Sjason
34675fc66SderaadtFS=		floppy${OSrev}.img
447fa51d5SderaadtFSSIZE=		2880
547fa51d5SderaadtFSDISKTYPE=	floppy
6679ae482SjasonMOUNT_POINT=	/mnt
7288a73d8SderaadtMTREE=		${UTILS}/mtree.conf
80e6c59ceSderaadtRAMDISK=	RAMDISKU1
9679ae482Sjason
1047fa51d5SderaadtLISTS=		${.CURDIR}/list
1147fa51d5SderaadtUTILS=		${.CURDIR}/../../miniroot
12daf7194cSderaadt
1347fa51d5SderaadtMRDISKTYPE=	rdroot
1447fa51d5SderaadtMRMAKEFSARGS=	-o disklabel=${MRDISKTYPE},minfree=0,density=4096
15679ae482Sjason
1647fa51d5Sderaadtall: ${FS}
17679ae482Sjason
180e6c59ceSderaadt${FS}: bsd.gz
1947fa51d5Sderaadt	dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE}
2027592c65Skrw	vnconfig -v -t ${FSDISKTYPE} ${FS} > vnd
2127592c65Skrw	echo '/ *' | disklabel -wAT- `cat vnd`
22012c3ccaSkrw	newfs -O 1 -m 0 -o space -i 524288 -c ${FSSIZE} -b 4096 -f 512 /dev/r`cat vnd`a
237b572f1fSderaadt	mount /dev/`cat vnd`a ${MOUNT_POINT}
2447fa51d5Sderaadt	install -c -m 555 -o root -g wheel \
250e6c59ceSderaadt	    ${DESTDIR}/usr/mdec/ofwboot ${MOUNT_POINT}/ofwboot
2647fa51d5Sderaadt	installboot -v -r ${MOUNT_POINT} `cat vnd` \
2747fa51d5Sderaadt	    ${DESTDIR}/usr/mdec/bootblk ${MOUNT_POINT}/ofwboot
280e6c59ceSderaadt	install -c -m 555 -o root -g wheel bsd.gz ${MOUNT_POINT}/bsd
29fad8bdf9Sderaadt	df -i ${MOUNT_POINT}
30daf7194cSderaadt	umount ${MOUNT_POINT}
317b572f1fSderaadt	vnconfig -u `cat vnd`
327b572f1fSderaadt	rm -f vnd
33679ae482Sjason
340e6c59ceSderaadtbsd.gz: bsd.rd
3532d40e93Ssemarie	objcopy -S -R .comment -R .SUNW_ctf \
3632d40e93Ssemarie	    -K rd_root_size -K rd_root_image \
3732d40e93Ssemarie	    bsd.rd bsd.strip
380e6c59ceSderaadt	gzip -9cn bsd.strip > bsd.gz
390e6c59ceSderaadt
40c2ec8100Skrwbsd.rd: mr.fs
410e6c59ceSderaadt	cp bsd bsd.rd
420e6c59ceSderaadt	rdsetroot bsd.rd mr.fs
43679ae482Sjason
4447fa51d5Sderaadtbsd:
450e6c59ceSderaadt	cd ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK} && \
46ce5d0fa6Skn	    su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE} ${MFLAGS}'
470e6c59ceSderaadt	cp -p ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK}/obj/bsd bsd
4847fa51d5Sderaadt
49c2ec8100Skrwmr.fs: instbin bsd
50da77b093Snatano	rm -rf $@.d
51da77b093Snatano	install -d -o root -g wheel $@.d
52da77b093Snatano	mtree -def ${MTREE} -p $@.d -u
53cac5294dSderaadt	CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \
54da77b093Snatano	    TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
55da77b093Snatano	    sh ${UTILS}/runlist.sh ${LISTS}
566a1b39a0Sderaadt	rm $@.d/instbin
5747fa51d5Sderaadt	makefs ${MRMAKEFSARGS} $@ $@.d
58679ae482Sjason
596a1b39a0Sderaadtinstbin.mk instbin.cache instbin.c: instbin.conf
6047fa51d5Sderaadt	crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \
6147fa51d5Sderaadt	    -c instbin.c -e instbin -m instbin.mk instbin.conf
62679ae482Sjason
636a1b39a0Sderaadtinstbin: instbin.mk instbin.cache instbin.c
64ce5d0fa6Skn	${MAKE} ${MFLAGS} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all
65679ae482Sjason
66e602012dSderaadtinstbin.conf: ${LISTS}
67e602012dSderaadt	awk -f ${UTILS}/makeconf.awk  ${LISTS} > instbin.conf
68e602012dSderaadt
6947fa51d5Sderaadtunconfig:
7047fa51d5Sderaadt	-umount -f ${MOUNT_POINT}
7147fa51d5Sderaadt	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
72679ae482Sjason
7378d13a4fSderaadt.ifdef RELEASEDIR
7478d13a4fSderaadtinstall:
7547fa51d5Sderaadt	cp ${FS} ${RELEASEDIR}
7678d13a4fSderaadt.endif
77679ae482Sjason
7847fa51d5Sderaadtclean cleandir:
7903c1d9f7Sderaadt	rm -f *.core mr.fs instbin instbin.mk instbin.cache \
80*cc8dae91Smiod	    lib*.a lib*.olist instbin.map instbin.conf \
81*cc8dae91Smiod	    *.o *.lo *.c bsd bsd.rd bsd.strip bsd.gz ${FS}
8203c1d9f7Sderaadt	rm -rf mr.fs.d
8347fa51d5Sderaadt
84679ae482Sjason.include <bsd.obj.mk>
85