summaryrefslogtreecommitdiffstats
path: root/release/floppies/crunch_fs.mk
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1996-05-21 01:12:48 +0000
committerjulian <julian@FreeBSD.org>1996-05-21 01:12:48 +0000
commit57f684b7bcf43e96e30345e8dd8437b9722daa89 (patch)
tree4e0299859bca8dbeb00101cbcd071e48e508f44f /release/floppies/crunch_fs.mk
parentdaaf2e922f028b52c7654d7ffacd86a5f39dd69f (diff)
downloadFreeBSD-src-57f684b7bcf43e96e30345e8dd8437b9722daa89.zip
FreeBSD-src-57f684b7bcf43e96e30345e8dd8437b9722daa89.tar.gz
stand alone (kinda) floppy generation..
you still need tohave done a make world and have made 'sysinstall' this should not interfere with existing code as it's standalone. write_mfs_in_kernel.c is duplicated alsewhere.. one will go ..
Diffstat (limited to 'release/floppies/crunch_fs.mk')
-rw-r--r--release/floppies/crunch_fs.mk107
1 files changed, 107 insertions, 0 deletions
diff --git a/release/floppies/crunch_fs.mk b/release/floppies/crunch_fs.mk
new file mode 100644
index 0000000..ab11d5a
--- /dev/null
+++ b/release/floppies/crunch_fs.mk
@@ -0,0 +1,107 @@
+###
+# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $
+#
+# This is included to make a floppy that includes a crunch file
+#
+# Variables that control this mk include file.
+# TOP specifies where the top of the FreeBSD source tree is.. (*)
+# FS_DIRS directories to make on the fs (*)
+# STANDLINKS added symlinks to /stand on the fs
+# VERBATIM a directory that contains tree to be copied to the fs
+# FSSIZE defaults to 1200
+# FSLABEL defaults to fd1200
+# FSINODE defaults to 4300
+# FS_DEVICES devices to make on the fs (using MAKEDEV) (default = all)
+# ZIP decides if the installed cruch will also be gzip'd(def=true)
+# (*) = Mandatory
+###
+
+# If we weren't told, default to nothing
+.if ! defined( TOP )
+# define TOP!
+xxx
+.endif
+
+# mountpoint for filesystems.
+MNT= /mnt
+
+# other floppy parameters.
+FSSIZE?= 1200
+FSLABEL?= fd1200
+FSINODE?= 4300
+FS_DEVICES?= all
+ZIP?=true
+
+# Things which will get you into trouble if you change them
+TREE= tree
+LABELDIR= ${TOP}/sys/i386/boot/biosboot/obj
+
+clean:
+ rm -rf tree fs-image fs-image.size step[0-9]
+
+.include <bsd.prog.mk>
+
+
+#
+# --==## Create a filesystem image ##==--
+#
+
+fs_image: ${TREE} step2 step3 step4 fs-image
+
+${TREE}: ${.CURDIR}/Makefile
+ rm -rf ${TREE}
+ mkdir -p ${TREE}
+ cd ${TREE} && mkdir ${FS_DIRS}
+ cd ${TREE} ; for i in ${STANDLINKS} ;\
+ do ; \
+ ln -s /stand $${i} ; \
+ done
+
+step2: ${CRUNCHDIRS} ${.CURDIR}/Makefile
+.if defined(CRUNCHDIRS)
+ @cd ${.CURDIR} && $(MAKE) installCRUNCH DIR=${TREE}/stand ZIP=${ZIP}
+.endif
+ touch step2
+
+step3: step2
+.if defined (FS_DEVICES)
+ ( cd tree/dev && \
+ cp ${TOP}/etc/etc.i386/MAKEDEV . && sh MAKEDEV ${FS_DEVICES} )
+.endif
+ touch step3
+
+step4: step3
+.if defined(VERBATIM)
+ A=`pwd`;cd ${.CURDIR}/${VERBATIM}; \
+ find . -print |cpio -pdmuv $$A/tree
+.endif
+ true || cp ${TOP}/etc/spwd.db tree/etc
+ touch step4
+
+fs-image: step4
+ sh -e ${FS_BIN}/doFS.sh ${LABELDIR} ${MNT} ${FSSIZE} tree \
+ 10000 ${FSLABEL}
+
+
+.if defined(CRUNCHDIRS)
+installCRUNCH:
+.if !defined(DIR)
+ @echo "DIR undefined in installCRUNCH" && exit 1
+.endif
+.if !defined(ZIP)
+ @echo "ZIP undefined in installCRUNCH" && exit 1
+.endif
+.for CRUNCHDIR in ${CRUNCHDIRS}
+ if ${ZIP} ; then \
+ gzip -9 < ${CRUNCHDIR}/crunch > ${DIR}/.crunch ; \
+ else \
+ ln -f ${CRUNCHDIR}/crunch ${DIR}/.crunch ; \
+ fi
+ chmod 555 ${DIR}/.crunch
+ for i in `crunchgen -l ${.CURDIR}/${CRUNCHDIR}/crunch.conf` ; do \
+ ln -f ${DIR}/.crunch ${DIR}/$$i ; \
+ done
+ rm -f ${DIR}/.crunch
+.endfor
+.endif
+
OpenPOWER on IntegriCloud