For all filesytem image building targets, build ${IMAGE}.tmp and

move it to ${IMAGE} when done, to ensure that an interrupted
build does not leave a broken non-functional target. (This can occur,
for instance, if one types 'make' as a non-root user and the vnconfig
fails, and then a subsequent 'make' will not rebuild the filesystem
image, using the all-zeroes image created by dd.)
This commit is contained in:
jhawk 2000-07-06 18:16:35 +00:00
parent 089ed65ef7
commit 5b7f59e5d1
6 changed files with 46 additions and 29 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.26 2000/05/05 21:34:32 mycroft Exp $
# $NetBSD: Makefile.inc,v 1.27 2000/07/06 18:16:35 jhawk Exp $
# TOP is assumed to be defined by Makefile including this one.
@ -24,8 +24,9 @@ realall: netbsd boot
tar cvf ${FSTMP} boot netbsd
@echo
@echo Making disk number one
dd if=/dev/zero of=${IMAGE} count=${DISKSIZE}
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
rm -f ${IMAGE}.tmp
dd if=/dev/zero of=${IMAGE}.tmp count=${DISKSIZE}
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}.tmp
dd bs=8k seek=1 count=${BLOCK8K} if=${FSTMP} of=${VND_CDEV}
disklabel -rw ${VND_CDEV} ${DISKTYPE}
@echo "installing new bootblocks"
@ -41,13 +42,14 @@ realall: netbsd boot
exit 1; \
else \
dd seek=$$(($${size} / 512 + 15)) count=1 \
if=/dev/zero of=${IMAGE}; \
if=/dev/zero of=${IMAGE}.tmp; \
fi; \
echo; \
bytes=$$(($$dksize * $$disks - $$size)); \
echo "There are $$bytes ($$(($$bytes / 1024))K) bytes free\
on disk $$disks."; \
)
mv -f ${IMAGE}.tmp ${IMAGE}
# Let the kernel on the diskette be called "netbsd" although
# it is compressed. This is because the boot code will search
@ -79,7 +81,7 @@ release:
done
clean cleandir distclean:
/bin/rm -f *.core ${CLEANFILES} ${IMAGE}
/bin/rm -f *.core ${CLEANFILES} ${IMAGE} ${IMAGE}.tmp
.include <bsd.own.mk>
.include <bsd.obj.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.18 2000/07/06 17:17:54 thorpej Exp $
# $NetBSD: Makefile.inc,v 1.19 2000/07/06 18:16:35 jhawk Exp $
# TOP is assumed to be defined by Makefile including this one.
@ -25,8 +25,9 @@ realall: netbsd boot
tar cvf ${FSTMP} boot netbsd
@echo
@echo Making disk number one
dd if=/dev/zero of=${IMAGE1} count=${DISKSIZE}
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE1}
mv -f ${IMAGE1} ${IMAGE1}.tmp
dd if=/dev/zero of=${IMAGE1}.tmp count=${DISKSIZE}
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE1}.tmp
dd bs=8k seek=1 count=${BLOCK8K} if=${FSTMP} of=${VND_CDEV}
disklabel -rw ${VND_CDEV} ${DISKTYPE}
@echo "installing new bootblocks"
@ -60,6 +61,7 @@ realall: netbsd boot
echo "There are $$bytes ($$(($$bytes / 1024))K) bytes free\
on disk $$disks."; \
)
mv -f ${IMAGE1}.tmp ${IMAGE1}
# Let the kernel on the diskette be called "netbsd" although
# it is compressed. This is because the boot code will search
@ -91,7 +93,7 @@ release:
done
clean cleandir distclean:
/bin/rm -f *.core ${CLEANFILES} ${BASENAME}?.fs
/bin/rm -f *.core ${CLEANFILES} ${BASENAME}?.fs ${IMAGE1}.tmp
.include <bsd.own.mk>
.include <bsd.obj.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.1 2000/06/12 18:51:17 he Exp $
# $NetBSD: Makefile,v 1.2 2000/07/06 18:16:35 jhawk Exp $
TOP= ${.CURDIR}/..
WARNS=1
@ -43,8 +43,10 @@ start.sh: start.tmpl
realall: ${IMAGE}
${IMAGE}: ${AUXTARGETS} ${CBIN} ${AUXDEPENDS} ${MTREE} ${LISTS}
dd if=/dev/zero of=${IMAGE} count=${RAMDISKSIZE}
vnconfig -v -c ${VND_CDEV} ${IMAGE} 512/${RAMDISKSPC}/1/${RAMDISKCYLS}
rm -f ${IMAGE}.tmp
dd if=/dev/zero of=${IMAGE}.tmp count=${RAMDISKSIZE}
vnconfig -v -c ${VND_CDEV} ${IMAGE}.tmp \
512/${RAMDISKSPC}/1/${RAMDISKCYLS}
-disklabel ${VND_CDEV} >tmplabel
disklabel -r -R ${VND_CDEV} tmplabel
newfs -B le -m 0 -o space -i 3950 -c 80 ${VND_RDEV}
@ -57,11 +59,12 @@ ${IMAGE}: ${AUXTARGETS} ${CBIN} ${AUXDEPENDS} ${MTREE} ${LISTS}
@echo ""
umount ${MOUNT_POINT}
vnconfig -u ${VND_CDEV}
mv -f ${IMAGE}.tmp ${IMAGE}
unconfig:
-umount -f ${MOUNT_POINT}
-vnconfig -u ${VND_DEV}
-/bin/rm -f ${IMAGE}
-/bin/rm -f ${IMAGE} ${IMAGE}.tmp
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.1 2000/06/12 18:51:17 he Exp $
# $NetBSD: Makefile.inc,v 1.2 2000/07/06 18:16:35 jhawk Exp $
# TOP is assumed to be defined by Makefile including this one.
@ -21,8 +21,9 @@ MTREE= ${COMMONDIR}/mtree.conf
DISKTYPE= floppy3
realall: ${AUXTARGETS} ${CBIN}
dd if=/dev/zero of=${IMAGE} count=3072
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
rm -f ${IMAGE}.tmp
dd if=/dev/zero of=${IMAGE}.tmp count=3072
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}.tmp
disklabel -rw ${VND_CDEV} ${DISKTYPE}
newfs -B le -m 0 -o space -i 5120 -c 80 ${VND_RDEV} ${DISKTYPE}
mount ${VND_DEV} ${MOUNT_POINT}
@ -34,11 +35,12 @@ realall: ${AUXTARGETS} ${CBIN}
@echo ""
umount ${MOUNT_POINT}
vnconfig -u ${VND_CDEV}
mv -f ${IMAGE}.tmp ${IMAGE}
unconfig:
-umount -f ${MOUNT_POINT}
-vnconfig -u ${VND_DEV}
-/bin/rm -f ${IMAGE}
-/bin/rm -f ${IMAGE} ${IMAGE}.tmp
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF}
@ -47,7 +49,8 @@ ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
make -f ${CBIN}.mk all
clean cleandir distclean:
/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c
/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \
${CBIN}.mk ${CBIN}.cache *.o *.cro *.c
.include <bsd.obj.mk>
.include <bsd.subdir.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.29 2000/06/18 23:57:32 cyber Exp $
# $NetBSD: Makefile,v 1.30 2000/07/06 18:16:35 jhawk Exp $
TOP= ${.CURDIR}/..
WARNS=1
@ -43,8 +43,10 @@ start.sh: start.tmpl
realall: ${IMAGE}
${IMAGE}: ${AUXTARGETS} ${CBIN} ${AUXDEPENDS} ${MTREE} ${LISTS}
dd if=/dev/zero of=${IMAGE} count=${RAMDISKSIZE}
vnconfig -v -c ${VND_CDEV} ${IMAGE} 512/${RAMDISKSPC}/1/${RAMDISKCYLS}
rm -f ${IMAGE}.tmp
dd if=/dev/zero of=${IMAGE}.tmp count=${RAMDISKSIZE}
vnconfig -v -c ${VND_CDEV} ${IMAGE}.tmp \
512/${RAMDISKSPC}/1/${RAMDISKCYLS}
-disklabel ${VND_CDEV} >tmplabel
disklabel -r -R ${VND_CDEV} tmplabel
newfs -B le -m 0 -o space -i 3950 -c 80 ${VND_RDEV}
@ -57,11 +59,12 @@ ${IMAGE}: ${AUXTARGETS} ${CBIN} ${AUXDEPENDS} ${MTREE} ${LISTS}
@echo ""
umount ${MOUNT_POINT}
vnconfig -u ${VND_CDEV}
mv -f ${IMAGE}.tmp ${IMAGE}
unconfig:
-umount -f ${MOUNT_POINT}
-vnconfig -u ${VND_DEV}
-/bin/rm -f ${IMAGE}
-/bin/rm -f ${IMAGE} ${IMAGE}.tmp
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
@ -82,7 +85,8 @@ HACKOBJS:= getcap.o getgrent.o getnet.o getnetgr.o getpwent.o setlocale.o yplib.
release:
clean cleandir distclean:
/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c tmplabel
/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \
${CBIN}.mk ${CBIN}.cache *.o *.cro *.c tmplabel
.include <bsd.own.mk>
.include <bsd.obj.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.12 2000/05/05 20:13:32 mycroft Exp $
# $NetBSD: Makefile.inc,v 1.13 2000/07/06 18:16:35 jhawk Exp $
# TOP is assumed to be defined by Makefile including this one.
@ -20,9 +20,10 @@ MTREE= ${COMMONDIR}/mtree.conf
DISKTYPE= floppy3
realall: ${AUXTARGETS} ${CBIN}
dd if=/dev/zero of=${IMAGE} count=3072
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
realall: ${AUXTARGETS} ${CBIN}
rm -f ${IMAGE}.tmp
dd if=/dev/zero of=${IMAGE}.tmp count=3072
vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}.tmp
disklabel -rw ${VND_CDEV} ${DISKTYPE}
newfs -B le -m 0 -o space -i 5120 -c 80 ${VND_RDEV} ${DISKTYPE}
mount ${VND_DEV} ${MOUNT_POINT}
@ -34,11 +35,12 @@ realall: ${AUXTARGETS} ${CBIN}
@echo ""
umount ${MOUNT_POINT}
vnconfig -u ${VND_CDEV}
mv -f ${IMAGE}.tmp ${IMAGE}
unconfig:
-umount -f ${MOUNT_POINT}
-vnconfig -u ${VND_DEV}
-/bin/rm -f ${IMAGE}
-/bin/rm -f ${IMAGE} ${IMAGE}.tmp
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF}
@ -47,7 +49,8 @@ ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
make -f ${CBIN}.mk all
clean cleandir distclean:
/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c
/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \
${CBIN}.mk ${CBIN}.cache *.o *.cro *.c
.include <bsd.obj.mk>
.include <bsd.subdir.mk>