Home | History | Annotate | Line # | Download | only in miniroot
Makefile revision 1.12.2.3
      1 #	$NetBSD: Makefile,v 1.12.2.3 2000/07/23 16:30:27 he Exp $
      2 
      3 TOP=		${.CURDIR}/..
      4 
      5 # This include just sets REV=XX
      6 .include "${TOP}/Makefile.inc"
      7 
      8 IMAGE=	miniroot
      9 
     10 TREE=	${TOP}/common/${IMAGE}.tree
     11 
     12 LISTS=	${TOP}/common/${IMAGE}.list \
     13 	${TOP}/common/mini_sbin.list \
     14 	${TOP}/common/mini_bin.list \
     15 	${TOP}/common/mini_usr.list
     16 
     17 KERNEL3  = ${KERNOBJDIR}/INSTALL/netbsd
     18 KERNEL3X = ${KERNOBJDIR}/INSTALL3X/netbsd
     19 
     20 MOUNT_POINT?=	/mnt
     21 # DEV/RDEV file system device, CDEV/CRDEV vnconfig device
     22 VND?=		vnd0
     23 VND_DEV=	/dev/${VND}a
     24 VND_RDEV=	/dev/r${VND}a
     25 VND_CDEV=	/dev/${VND}c
     26 VND_CRDEV=	/dev/r${VND}c
     27 
     28 CYLS=		20
     29 SECS=		64
     30 TRKS=		16
     31 TOTALSECT !=	expr ${CYLS} '*' ${SECS} '*' ${TRKS}
     32 DISKTYPE=	miniroot
     33 DISKTAB=	./${DISKTYPE}.disktab
     34 GEOM=		512/${SECS}/${TRKS}/${CYLS}
     35 INO_BYTES=	8192
     36 
     37 CLEANFILES= ${IMAGE}.gz ${IMAGE} install.sub ${DISKTAB}
     38 
     39 all: ${IMAGE}.gz
     40 
     41 ${DISKTAB}:
     42 	echo "${DISKTYPE}:ty=simulated:se#512:nt#${TRKS}:ns#${SECS}:nc#${CYLS}:pa#${TOTALSECT}:oa#0:ba#4096:fa#512:ta=4.2BSD:pc#${TOTALSECT}:oc#0:" > $@
     43 
     44 ${IMAGE}.gz: ${TREE} ${LISTS} install.sub ${DISKTAB}
     45 	dd if=/dev/zero of=${IMAGE} bs=512 count=${TOTALSECT}
     46 	vnconfig -v -c ${VND_CDEV} ${IMAGE} ${GEOM}
     47 	disklabel -rw -f ${DISKTAB} ${VND_CDEV} ${DISKTYPE}
     48 	disklabel -W ${VND_CDEV}
     49 	# bigendian, old format, minfree, opt, b/i, cpg, device
     50 	newfs -B be -O -m 0 -o space -i ${INO_BYTES} -c ${CYLS} ${VND_RDEV}
     51 	mount ${VND_DEV} ${MOUNT_POINT}
     52 	mtree -def ${TREE} -p ${MOUNT_POINT}/ -u
     53 	cp ${KERNEL3}  ${MOUNT_POINT}/netbsd.sun3
     54 	cp ${KERNEL3X} ${MOUNT_POINT}/netbsd.sun3x
     55 	TOPDIR=${TOP} CURDIR=${.CURDIR} \
     56 	  OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
     57 	  sh ${TOP}/common/RunList.sh ${LISTS}
     58 	sync ; sleep 1 ; sync
     59 	cd ${MOUNT_POINT} ;\
     60 	  usr/mdec/installboot -v ufsboot usr/mdec/bootxx ${VND_CRDEV}
     61 	sync
     62 	@echo ""
     63 	@df -i ${MOUNT_POINT}
     64 	@echo ""
     65 	umount ${MOUNT_POINT}
     66 	vnconfig -u ${VND_CDEV}
     67 	gzip -9 < ${IMAGE} > $@
     68 
     69 # Do not delete this if I change my mind and kill make...
     70 .PRECIOUS: ${IMAGE}.gz
     71 
     72 install.sub : ${TOP}/../miniroot/install.sub
     73 	sed -e "/^VERSION=/s/=.*/=${REV}/" < $? > $@
     74 
     75 clean cleandir distclean:
     76 	-rm -f a.out core *.core *.o
     77 	-rm -f ${CLEANFILES}
     78 
     79 # XXX -- allow 'make depend' to run without error
     80 depend:
     81 
     82 # Standard rules needed by the above...
     83 .include <bsd.obj.mk>
     84 
     85 .if !defined(RELEASEDIR)
     86 release:
     87 	@echo setenv RELEASEDIR before doing that!
     88 	@false
     89 .else	# RELEASEDIR
     90 release: ${IMAGE}.gz
     91 	-mkdir -p ${RELEASEDIR}/installation/miniroot
     92 	cp -p ${IMAGE}.gz \
     93 	 ${RELEASEDIR}/installation/miniroot/${IMAGE}.gz
     94 .endif	# RELEASEDIR
     95