xref: /netbsd-src/distrib/newsmips/floppies/bootfloppy/Makefile (revision 5aefcfdc06931dd97e76246d2fe0302f7b3fe094)
1#	$NetBSD: Makefile,v 1.2 2000/05/02 16:06:52 sjg Exp $
2
3TOP=		${.CURDIR}/..
4
5.include "${TOP}/Makefile.inc"
6.include <bsd.kernobj.mk>
7
8IMAGE=		boot.fs
9KERN=		${KERNOBJDIR}/INSTALL/netbsd
10
11MOUNT_POINT?=	/mnt
12VND?=		vnd0
13VND_DEV=	/dev/${VND}a
14VND_RDEV=	/dev/r${VND}a
15FD?=		fd0
16FD_RDEV=	/dev/r${FD}a
17MDEC=		${DESTDIR}/usr/mdec
18
19LISTS=		${.CURDIR}/list
20RAMDISK!=	cd $(.CURDIR)/../ramdisk/; \
21		    printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}/ramdisk.fs\n" | \
22		    ${MAKE} -s -f-
23
24DISKTYPE=	floppy
25
26# Some reasonable values for the -i parameter to newfs are:
27#
28#  8192		1387k, 189 inodes free
29# 16384		1399k,  93 inodes free
30# 65536		1407k,  29 inodes free
31INO_BYTES?=	65536
32
33CLEANFILES+=	netbsd.ram.gz netbsd.tmp
34
35all:	netbsd.ram.gz
36	dd if=/dev/zero of=${IMAGE} bs=1440k count=1
37	# vnconfig -v -c ${VND} ${IMAGE}
38	vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE}
39	disklabel -f ${DESTDIR}/etc/disktab -rw ${VND} ${DISKTYPE}
40	disklabel -W ${VND}
41	newfs -B be -m 0 -o space -i ${INO_BYTES} -c 80 \
42	    -f 1024 -b 8192 ${VND_RDEV}
43	mount ${VND_DEV} ${MOUNT_POINT}
44	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
45	    KERNOBJDIR=${KERNOBJDIR} \
46	    TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS}
47	@echo ""
48	@df -i ${MOUNT_POINT}
49	@echo ""
50	@echo "installing new bootblocks"
51	-rm -f ${MOUNT_POINT}/boot
52	cp ${MDEC}/boot ${MOUNT_POINT}/boot
53	sync
54	${MDEC}/installboot -v ${MOUNT_POINT}/boot ${MDEC}/bootxx ${VND_RDEV}
55	umount ${MOUNT_POINT}
56	vnconfig -u ${VND}
57
58unconfig:
59	-umount -f ${MOUNT_POINT}
60	-vnconfig -u ${VND}
61
62netbsd.ram.gz: ${KERN} ${RAMDISK}
63	cp ${KERN} netbsd.tmp
64	mdsetimage -v netbsd.tmp ${RAMDISK}
65	gzip -9 netbsd.tmp
66	mv netbsd.tmp.gz ${.TARGET}
67
68clean cleandir distclean:
69	rm -f *.core ${IMAGE} ${CLEANFILES}
70
71real-floppy:
72	dd if=${IMAGE} of=${FD_RDEV} bs=45k
73
74.include <bsd.own.mk>
75.include <bsd.obj.mk>
76