#!/bin/bsh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # onc720 src/oncplus/usr/sbin/netdisk/verify_tapevol_arch.sh 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1994,1997 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # # COMPONENT_NAME: onccmds # # FUNCTIONS: none # # ORIGINS: 24,27 # # # (C) COPYRIGHT International Business Machines Corp. 1994,1997 # All Rights Reserved # Licensed Materials - Property of IBM # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # Copyright (c) 1987 by Sun Microsystems, Inc. # # verify_tapevol_arch arch tapen tapedev tapeserver # HOME=/; export HOME PATH=/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/lpp/nfs/sun_diskless CMDNAME=$0 case $# in 3 | 4) ;; *) echo Usage: $CMDNAME arch tapen tapedev tapeserver exit 1 ;; esac ARCH=$1 TAPEN=$2 TAPEDEV=$3 TAPESERVER=$4 TAPECMD=tctl ALT_TAPECMD=mt ARCH_TAPE="" TAPE_NUM="" INSTALLPATH="/tmp" case "${TAPESERVER}" in "") REMOTE="" ;; *) REMOTE="rsh ${TAPESERVER} -n" ;; esac while true; do while true; do case "${REMOTE}" in "") STRING=`$TAPECMD -f ${TAPEDEV} rewind 2>&1` STRING=`$TAPECMD -f ${TAPEDEV} rewind 2>&1` ;; *) STRING=`${REMOTE} $TAPECMD -f ${TAPEDEV} rewind 2>&1` STRING=`${REMOTE} $TAPECMD -f ${TAPEDEV} rewind 2>&1` if [ -n "${STRING}" ] ; then STRING=`${REMOTE} ${ALT_TAPECMD} -f ${TAPEDEV} rewind 2>&1` fi esac case "${STRING}" in "") case "${REMOTE}" in "") $TAPECMD -f ${TAPEDEV} fsf 1 >/dev/null 2>&1 ;; *) ${REMOTE} "$TAPECMD -f ${TAPEDEV} fsf 1 || ${ALT_TAPECMD} -f ${TAPEDEV} fsf 1 " > /dev/null 2>&1 ;; esac break ;; *) echo "${STRING}" echo "Tape drive ${TAPEDEV} not ready." echo " Load release tape #${TAPEN} for architecture ${ARCH} and hit : \c" read x ;; esac done # # get TOC from release tape (dd format) # rm -f ${INSTALLPATH}/TOC case "${REMOTE}" in "") dd if=${TAPEDEV} bs=200k 2>/dev/null \ | xdrtoc > ${INSTALLPATH}/TOC ;; *) ${REMOTE} dd if=${TAPEDEV} bs=200k 2>/dev/null \ | xdrtoc > ${INSTALLPATH}/TOC ;; esac ARCH_TAPE=`awk '/^ARCH/ { print $2 }' < ${INSTALLPATH}/TOC` TAPE_NUM=`awk '/^VOLUME/ { print $2 }' < ${INSTALLPATH}/TOC` case "${ARCH_TAPE}" in "${ARCH}" ) case "${TAPE_NUM}" in "${TAPEN}" ) break ;; *) echo "Tape loaded is #${TAPE_NUM}" ;; esac ;; *) echo "Tape is wrong architecture (${ARCH_TAPE})" ;; esac echo " Load release tape #${TAPEN} for architecture ${ARCH} and hit : \c" read x done case "${REMOTE}" in "") STRING=`$TAPECMD -f ${TAPEDEV} rewind 2>&1` STRING=`$TAPECMD -f ${TAPEDEV} rewind 2>&1` ;; *) ${REMOTE} "$TAPECMD -f ${TAPEDEV} rewind || $ALT_TAPECMD -f ${TAPEDEV} rewind" > /dev/null 2>&1 ${REMOTE} "$TAPECMD -f ${TAPEDEV} rewind || $ALT_TAPECMD -f ${TAPEDEV} rewind" > /dev/null 2>&1 esac sync; sync