# $NetBSD: Makefile,v 1.22 2000/07/03 02:17:56 sommerfeld Exp $ TOP= ${.CURDIR}/.. MINIROOT= ${.CURDIR}/../../miniroot .include "${TOP}/Makefile.inc" .include # So we use /etc/mk.conf. .include KERN?= ${KERNOBJDIR}/INSTALL/netbsd MOUNT_POINT?= /mnt VND?= vnd0 VND_DEV= /dev/${VND}a VND_RDEV= /dev/r${VND}a VND_CDEV= /dev/${VND}c VND_CRDEV= /dev/r${VND}c FD?= fd0 FD_RDEV= /dev/r${FD}a IMAGE?= boot.fs MDEC= ${DESTDIR}/usr/mdec LISTS= ${.CURDIR}/list RAMDISK!= cd ${TOP}/ramdisk/; \ printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}/ramdisk.fs\n" |\ ${MAKE} -s -f- DISKTYPE= instfs # Some reasonable values for the -i parameter to newfs are: # # 6144 1147k, 189 inodes free # 16384 1159k, 93 inodes free # 204800 1167k, 29 inodes free INO_BYTES= 204800 BLOCKSIZE=512 FSTSIZE=32 FSSIZE!=if test -f ${RAMDISK}; then BLOCKSIZE=${BLOCKSIZE} du -s ${RAMDISK} | awk '{ print $$1 }'; else echo 32; fi FSSIZE!= expr ${FSTSIZE} \* \( \( ${FSSIZE} + ${FSTSIZE} - 1 \) / ${FSTSIZE} \) FSNC!=expr ${FSSIZE} / ${FSTSIZE} CLEANFILES+= netbsd.ram.gz netbsd.tmp disktab.tmp all: netbsd.ram.gz disktab.tmp dd if=/dev/zero of=${IMAGE} bs=${BLOCKSIZE} count=${FSSIZE} vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE} disklabel -f disktab.tmp -rw ${VND_CDEV} ${DISKTYPE} disklabel -W ${VND_CDEV} newfs -B be -m 0 -o space -i ${INO_BYTES} -c 80 ${VND_RDEV} mount ${VND_DEV} ${MOUNT_POINT} TOPDIR=${TOP} CURDIR=${MINIROOT} OBJDIR=${.OBJDIR} \ KERNOBJDIR=${KERNOBJDIR} \ TARGDIR=${MOUNT_POINT} sh ${MINIROOT}/runlist.sh ${LISTS} @echo "" @df -i ${MOUNT_POINT} @echo "" @echo "installing new bootblocks" -rm -f ${MOUNT_POINT}/boot ${MDEC}/binstall -m ${MDEC} -v -b boot.700000 ffs ${MOUNT_POINT} umount ${MOUNT_POINT} vnconfig -u ${VND_CDEV} unconfig: -umount -f ${MOUNT_POINT} -vnconfig -u ${VND_DEV} disktab.tmp: netbsd.ram.gz @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} netbsd.ram: ${KERN} ${RAMDISK} cp ${KERN} netbsd.tmp mdsetimage -v netbsd.tmp ${RAMDISK} mv netbsd.tmp ${.TARGET} netbsd.ram.gz: ${KERN} ${RAMDISK} cp ${KERN} netbsd.tmp mdsetimage -v netbsd.tmp ${RAMDISK} gzip -9 netbsd.tmp mv netbsd.tmp.gz ${.TARGET} clean cleandir distclean: /bin/rm -f *.core ${IMAGE} ${CLEANFILES} depend install: real-floppy: dd if=${IMAGE} of=${FD_RDEV} bs=32k .ifndef RELEASEDIR release: @echo setenv RELEASEDIR first @false .else release: $(IMAGE) gzip -c -9 < $(.OBJDIR)/boot.fs \ > $(RELEASEDIR)/installation/bootfs/boot.fs.gz cp -p netbsd.ram.gz $(RELEASEDIR)/installation/bootfs/netbsd.ram.gz .endif # RELEASEDIR check .include