# $NetBSD: Makefile,v 1.5 2002/04/12 03:21:11 lukem Exp $ TOP= ${.CURDIR}/.. # This include just sets DISTRIBREV=XX .include "${TOP}/Makefile.inc" IMAGE= miniroot TREE= ${TOP}/common/${IMAGE}.tree LISTS= ${TOP}/common/${IMAGE}.list \ ${TOP}/common/mini_sbin.list \ ${TOP}/common/mini_bin.list \ ${TOP}/common/mini_usr.list KERNEL = ${KERNOBJDIR}/INSTALL/netbsd MOUNT_POINT?= /mnt RAW_PART!= sysctl -n kern.rawpartition | tr '0-7' 'a-h' VND?= vnd1 VND_DEV?= /dev/${VND}a VND_RDEV?= /dev/r${VND}a VND_CRDEV?= /dev/r${VND}${RAW_PART} # These are all the parameters for the miniroot: (12MB) DISKTYPE= miniroot SIZE= 12 # bigendian, old format, minfree, opt, b/i, cpg NEWFSARGS= -B be -O -m 0 -o space -i 8192 -c 16 MTREE?= mtree INSTALLBOOT?= usr/mdec/installboot CLEANFILES= ${IMAGE}.gz ${IMAGE} ${IMAGE}.tmp install.sub all: ${IMAGE}.gz ${IMAGE}.gz: ${TREE} ${LISTS} install.sub dd if=/dev/zero of=${IMAGE} bs=1024k count=${SIZE} vnconfig -f ${.CURDIR}/disktab -t ${DISKTYPE} -v -c ${VND} ${IMAGE} disklabel -f ${.CURDIR}/disktab -rw ${VND} ${DISKTYPE} newfs ${NEWFSARGS} ${VND_RDEV} mount ${VND_DEV} ${MOUNT_POINT} ${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u cp ${KERNEL} ${MOUNT_POINT}/netbsd TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \ OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \ sh ${TOP}/common/RunList.sh ${LISTS} sync ; sleep 1 ; sync cd ${MOUNT_POINT} ;\ ${INSTALLBOOT} -v ufsboot usr/mdec/bootxx ${VND_CRDEV} sync @echo "" @df -i ${MOUNT_POINT} @echo "" -umount ${MOUNT_POINT} dd if=${VND_DEV} of=${IMAGE}-tmp bs=1024k count=${SIZE} vnconfig -u ${VND} mv ${IMAGE}-tmp ${IMAGE} gzip -9 -c ${IMAGE} > ${IMAGE}.tmp -mv -f ${IMAGE}.tmp ${IMAGE}.gz unconfig: -umount -f ${MOUNT_POINT} -vnconfig -u ${VND} -/bin/rm -f ${IMAGE} ${IMAGE}.tmp # Do not delete this if I change my mind and kill make... .PRECIOUS: ${IMAGE}.gz install.sub : ${TOP}/../miniroot/install.sub sed -e "/^VERSION=/s/=.*/=${DISTRIBREV}/" < $? > $@ clean cleandir distclean: -rm -f a.out core *.core *.o -rm -f ${CLEANFILES} .if !defined(RELEASEDIR) release: @echo setenv RELEASEDIR before doing that! @false .else # RELEASEDIR release: ${IMAGE}.gz -mkdir -p ${RELEASEDIR}/installation/miniroot ${RELINSTALL} ${IMAGE}.gz ${RELEASEDIR}/installation/miniroot .endif # RELEASEDIR # Standard rules needed by the above... .include .include