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