Makefile revision 1.22
1#	$NetBSD: Makefile,v 1.22 2000/07/03 02:17:56 sommerfeld Exp $
2
3TOP=		${.CURDIR}/..
4MINIROOT=	${.CURDIR}/../../miniroot
5
6.include "${TOP}/Makefile.inc"
7
8.include <bsd.own.mk>	# So we use /etc/mk.conf.
9.include <bsd.kernobj.mk>
10
11KERN?=		${KERNOBJDIR}/INSTALL/netbsd
12
13MOUNT_POINT?=	/mnt
14VND?=		vnd0
15VND_DEV=	/dev/${VND}a
16VND_RDEV=	/dev/r${VND}a
17VND_CDEV=	/dev/${VND}c
18VND_CRDEV=	/dev/r${VND}c
19FD?=		fd0
20FD_RDEV=	/dev/r${FD}a
21IMAGE?=		boot.fs
22MDEC=		${DESTDIR}/usr/mdec
23
24LISTS=		${.CURDIR}/list
25RAMDISK!=	cd ${TOP}/ramdisk/; \
26		printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}/ramdisk.fs\n" |\
27		${MAKE} -s -f-
28
29DISKTYPE=	instfs
30
31# Some reasonable values for the -i parameter to newfs are:
32#
33#   6144	1147k, 189 inodes free
34#  16384	1159k,  93 inodes free
35# 204800	1167k,  29 inodes free
36INO_BYTES=	204800
37
38BLOCKSIZE=512
39FSTSIZE=32
40FSSIZE!=if test -f ${RAMDISK}; then BLOCKSIZE=${BLOCKSIZE} du -s ${RAMDISK} | awk '{ print $$1 }'; else echo 32; fi
41FSSIZE!= expr ${FSTSIZE} \* \( \( ${FSSIZE} + ${FSTSIZE} - 1 \) / ${FSTSIZE} \)
42FSNC!=expr ${FSSIZE} / ${FSTSIZE}
43
44CLEANFILES+=	netbsd.ram.gz netbsd.tmp disktab.tmp
45
46all:	netbsd.ram.gz disktab.tmp
47	dd if=/dev/zero of=${IMAGE} bs=${BLOCKSIZE} count=${FSSIZE}
48	vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
49	disklabel -f disktab.tmp -rw ${VND_CDEV} ${DISKTYPE}
50	disklabel -W ${VND_CDEV}
51	newfs -B be -m 0 -o space -i ${INO_BYTES} -c 80 ${VND_RDEV}
52	mount ${VND_DEV} ${MOUNT_POINT}
53	TOPDIR=${TOP} CURDIR=${MINIROOT} OBJDIR=${.OBJDIR} \
54	    KERNOBJDIR=${KERNOBJDIR} \
55	    TARGDIR=${MOUNT_POINT} sh ${MINIROOT}/runlist.sh ${LISTS}
56	@echo ""
57	@df -i ${MOUNT_POINT}
58	@echo ""
59	@echo "installing new bootblocks"
60	-rm -f ${MOUNT_POINT}/boot
61	${MDEC}/binstall -m ${MDEC} -v -b boot.700000 ffs ${MOUNT_POINT}
62	umount ${MOUNT_POINT}
63	vnconfig -u ${VND_CDEV}
64
65unconfig:
66	-umount -f ${MOUNT_POINT}
67	-vnconfig -u ${VND_DEV}
68
69disktab.tmp:	netbsd.ram.gz 
70	@echo "instfs:ty=floppy:se#512:nt#2:rm#300:ns#16:nc#${FSNC}:pa#${FSSIZE}:oa#0:ba#4096:fa#512:ta=4.2BSD:pc#${FSSIZE}:oc#0:" > ${.TARGET}
71
72netbsd.ram: ${KERN} ${RAMDISK}
73	cp ${KERN} netbsd.tmp
74	mdsetimage -v netbsd.tmp ${RAMDISK}
75	mv netbsd.tmp ${.TARGET}
76
77netbsd.ram.gz: ${KERN} ${RAMDISK}
78	cp ${KERN} netbsd.tmp
79	mdsetimage -v netbsd.tmp ${RAMDISK}
80	gzip -9 netbsd.tmp
81	mv netbsd.tmp.gz ${.TARGET}
82
83clean cleandir distclean:
84	/bin/rm -f *.core ${IMAGE} ${CLEANFILES}
85
86depend install:
87
88real-floppy:
89	dd if=${IMAGE} of=${FD_RDEV} bs=32k
90
91.ifndef RELEASEDIR
92release:
93	@echo setenv RELEASEDIR first
94	@false
95.else
96release: $(IMAGE)
97	gzip -c -9 < $(.OBJDIR)/boot.fs \
98		> $(RELEASEDIR)/installation/bootfs/boot.fs.gz
99	cp -p netbsd.ram.gz $(RELEASEDIR)/installation/bootfs/netbsd.ram.gz
100
101.endif	# RELEASEDIR check
102
103.include <bsd.obj.mk>
104