Home | History | Annotate | Line # | Download | only in bootfs
Makefile revision 1.21
      1 #	$NetBSD: Makefile,v 1.21 2000/06/17 03:10:23 matt Exp $
      2 
      3 TOP=		${.CURDIR}/..
      4 MINIROOT=	${.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 
     11 KERN?=		${KERNOBJDIR}/INSTALL/netbsd
     12 
     13 MOUNT_POINT?=	/mnt
     14 VND?=		vnd0
     15 VND_DEV=	/dev/${VND}a
     16 VND_RDEV=	/dev/r${VND}a
     17 VND_CDEV=	/dev/${VND}c
     18 VND_CRDEV=	/dev/r${VND}c
     19 FD?=		fd0
     20 FD_RDEV=	/dev/r${FD}a
     21 IMAGE?=		boot.fs
     22 MDEC=		${DESTDIR}/usr/mdec
     23 
     24 LISTS=		${.CURDIR}/list
     25 RAMDISK!=	cd ${TOP}/ramdisk/; \
     26 		printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}/ramdisk.fs\n" |\
     27 		${MAKE} -s -f-
     28 
     29 DISKTYPE=	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
     36 INO_BYTES=	204800
     37 
     38 BLOCKSIZE=512
     39 FSTSIZE=32
     40 FSSIZE!=if test -f ${RAMDISK}; then BLOCKSIZE=${BLOCKSIZE} du -s ${RAMDISK} | awk '{ print $$1 }'; else echo 32; fi
     41 FSSIZE!= expr ${FSTSIZE} \* \( \( ${FSSIZE} + ${FSTSIZE} - 1 \) / ${FSTSIZE} \)
     42 FSNC!=expr ${FSSIZE} / ${FSTSIZE}
     43 
     44 CLEANFILES+=	netbsd.ram.gz netbsd.tmp disktab.tmp
     45 
     46 all:	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 
     65 unconfig:
     66 	-umount -f ${MOUNT_POINT}
     67 	-vnconfig -u ${VND_DEV}
     68 
     69 disktab.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 
     72 netbsd.ram: ${KERN} ${RAMDISK}
     73 	cp ${KERN} netbsd.tmp
     74 	mdsetimage -v netbsd.tmp ${RAMDISK}
     75 	mv netbsd.tmp ${.TARGET}
     76 
     77 netbsd.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 
     83 clean cleandir distclean:
     84 	/bin/rm -f *.core ${IMAGE} ${CLEANFILES}
     85 
     86 depend install:
     87 
     88 real-floppy:
     89 	dd if=${IMAGE} of=${FD_RDEV} bs=32k
     90 
     91 .ifndef RELEASEDIR
     92 release:
     93 	@echo setenv RELEASEDIR first
     94 	@false
     95 .else
     96 release: $(IMAGE)
     97 	gzip -c -9 < $(.OBJDIR)/boot.fs \
     98 		> $(RELEASEDIR)/installation/bootfs/boot.fs.gz
     99 .endif	# RELEASEDIR check
    100 
    101 .include <bsd.obj.mk>
    102