4.3BSD-Reno/src/sys/vaxdist/maketape

#!/bin/sh -
#
# Copyright (c) 1990 The Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted provided
# that: (1) source distributions retain this entire copyright notice and
# comment, and (2) distributions including binaries display the following
# acknowledgement:  ``This product includes software developed by the
# University of California, Berkeley and its contributors'' in the
# documentation or other materials provided with the distribution and in
# all advertising materials mentioning features or use of this software.
# Neither the name of the University nor the names of its contributors may
# be used to endorse or promote products derived from this software without
# specific prior written permission.
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
#	@(#)maketape	4.33 (Berkeley) 7/5/90
#

# maketape [ 6250 | 1600 [ tapename [ remotetapemachine ] ] ]
miniroot=ra1b
nbsd=ra1a
nbsdusr=/mnt/usr/DISTUSR
tape=/dev/rmt20
type=6250
block=40
tflag=cbf
bprog="/usr/local/20b 20480"

if [ $# -gt 0 ]; then
	type=$1;
fi

if [ $# -gt 1 ]; then
	tape=$2;
fi

tartape=$tape
if [ $# -gt 2 ]; then
	remote=$3;
	tartape='-';
fi

rsh $remote mt -t ${tape} rew
date
#umount /dev/$nbsdusr
umount /dev/$nbsd
mount -r /dev/$nbsd /nbsd
#mount -r /dev/$nbsdusr /nbsd/usr
cd /nbsd
sync

if [ $type = '1600a' ]
then
	type=1600
fi

cd /nbsd/sys/vaxdist/tp
tp cmf /tmp/tape.$$ boot copy format
cd /nbsd/sys/mdec
echo "Build 1st level boot block file"
cat tsboot htboot tmboot mtboot utboot noboot noboot /tmp/tape.$$ | \
        rsh $remote dd of=${tape} obs=512 conv=sync

echo "Add image of mini-root file system"
eval dd if=/dev/r${miniroot} count=205 bs=20b conv=sync ${remote+"| rsh"} \
	${remote-"of=$tape"} ${remote+'/usr/local/20b ">" $tape'}

echo "Add full dump of real file system"
/sbin/${remote+r}dump 0f $remote${remote+:}${tape} /dev/r${nbsd}

echo "Add tar image of /usr"
cd ${nbsdusr}
tar ${tflag} ${block} ${tartape} bin contrib games include lib libdata \
	libexec local mdec obj old sbin share | rsh $remote ${bprog} ">" $tape

if [ ${type} != '6250' ]
then
	echo "Done, rewinding first tape"
	rsh $remote mt -t ${tape} rew &
	echo "Mount second tape and hit return when ready"
	echo "(or type name of next tape drive)"
	read x
	if [ "$x" != "" ]
	then	tape=$x
	fi
fi

: tape2:
echo "Add user source code"
FILES="Makefile bin etc games include kerberosIV lib libexec old \
	pgrm sbin share usr.bin usr.sbin"
cd /nbsd/usr/src
tar ${tflag} ${block} ${tartape} ${FILES} | rsh $remote ${bprog} ">" $tape

if [ ${type} != '6250' ]
then
	echo "Done, rewinding second tape"
	$remote mt -t ${tape} rew &
	echo "Mount third tape and hit return when ready"
	echo "(or type name of next tape drive)"
	read x
	if [ "$x" != "" ]
	then	tape=$x
	fi
fi

: tape3:
echo "Add tar image of system sources"
cd /nbsd/usr/src/sys
tar ${tflag} ${block} ${tartape} . | rsh $remote ${bprog} ">" $tape

echo "Add user contributed software"
# standard (always uncompressed) directories:
FILES="Makefile Makefile.inc ansi bib emacs emacs-18.55.tar.Z jove kermit \
	mh.tar.Z patch rcs vmsprep"
cd /nbsd/usr/src/contrib
tar ${tflag} ${block} ${tartape} ${FILES} | rsh $remote ${bprog} ">" $tape


echo "Done, rewinding tape"
rsh $remote mt -t ${tape} rew &