104 lines
2.7 KiB
Makefile
104 lines
2.7 KiB
Makefile
# $NetBSD: Makefile,v 1.22 2000/07/03 02:17:56 sommerfeld Exp $
|
|
|
|
TOP= ${.CURDIR}/..
|
|
MINIROOT= ${.CURDIR}/../../miniroot
|
|
|
|
.include "${TOP}/Makefile.inc"
|
|
|
|
.include <bsd.own.mk> # So we use /etc/mk.conf.
|
|
.include <bsd.kernobj.mk>
|
|
|
|
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 <bsd.obj.mk>
|