GREETING="\n\n                    **** CENTIX INSTALLATION ****\n\n"
GREETINGK="\n\n                 **** CENTIX KERNEL INSTALLATION ****\n\n"
NOINSTALL="This installation can only be run from the Restricted Mode\n"
NOROOT="\nCannot find Root volume\n"
NOPART="\nInvalid partition number for root in ConfigUFS.sys\n"
CANTMOUNT="\nCannot mount new root partition\n"
CANTUMOUNT="\nCannot unmount new root partition\n"
FSCKCHECK="Performing a file system check on the root..."
FSCKDONE="Finished performing a file system check on the root"
FSCKERROR="Run FSCK Manually on the root partition\n"
BACKINGUP="\nBacking up system and customized files...\n"
BACKUPDONE="\nFinished backing up system and customized files\n"
LOG1="installation"
ROOTLOC1="Root is located on disk"
ROOTLOC2="partition"
COPY1="\n\nPerforming copy of files from"
COPY2="to the root...\n\n"
COPY3="\n\nFinished copy of files from"
COPY4="to the root\n\n"
SAFCOPY="\nExecuting /SAF/install1...\n"
SAFDONE="\nFinished executing /SAF/install1\n"
CREATINGDEVS="\nCreating the devices in /dev...\n"
DEVSDONE="\nFinished creating the devices in /dev\n"
CREATINGCENTIX="\nCreating [sys]<sys>CENTIX.sys...\n"
CENTIXSYSERROR="Error creating CENTIX.sys"
CENTIXSYSDONE="\nFinished creating [sys]<sys>CENTIX.sys\n"
CREATMES="\nCreating motd and gettydefs...\n"
MESERROR="Error creating motd and gettydefs...\n"
MESDONE="\nFinished creating motd and gettydefs\n"
PROD1="XE550 Office System part 1"
PROD2="XE550 Office System part 2"
PROD3="XE550 Development System Extension part 1"
PROD4="XE550 Development System Extension part 2"
PROD5="XE550 Development System Extension"
PRODK="XE550 CENTIX Kernel"
HALFINCHTAPE="Half-Inch Tape"
QICTAPE="Quarter-Inch Tape"
CARTRIDGE="Cartridge"
#VERSION: B5.00.11 - XE550 CENTIX Development System Extension Part1

#File: install3
#	This shell script is responsible for building a	new root partition.
#	Parameter 1 is the device type of where the installation is coming from

PATH=/bin:/usr/bin:/etc:/usr/install; export PATH

#	*** GREET ***
echo "$GREETING"


#	*** DETERMINE WORKING ENVIRONMENT ***
if [ -f /etc/irc ]
then
   BOOTIMAGE=0
else
   BOOTIMAGE=1
fi


#	*** DETERMINE THE DEVICE TYPE ***
if [ "$1" ]
then
   MNTDEV=$1
   if [ "$1" = "/dev/rmt0" ]
   then
      DEVTYPE="$HALFINCHTAPE"
   else
      DEVTYPE="$QICTAPE"
   fi
else
   MNTDEV=/dev/fp007
   DEVTYPE="$CARTRIDGE"
fi


#	**********COPY CONFIGUFS.SYS TO A CENTIX FILE**********
if [ "$BOOTIMAGE" = "0" ]
then
   ofcopy -y '[sys]<sys>ConfigUFS.sys' /tmp/configufs > /dev/null 2>&1


#	**********DETERMINE THE ROOT PARTITION
   NEWDISK=`grep Root /tmp/configufs | cut -f2 -d[ | cut -f1 -d]`
   if [ "$?" != "1" ]
   then
      echo "$NOROOT"
      exit 1
   fi


#	**********DETERMINE PARTITION OF THE CURRENT ROOT**********
   RPARTITION=`grep Root /tmp/configufs | cut -f2 -d. | cut -f1`
   if [ "$?" != "1" ]
   then
      echo "$NOPART"
      exit 1
   fi
   rm -f /tmp/configufs


#	**********DETERMINE THE MOUNT POINT FOR THE NEW ROOT**********
   DEVNAME=`echo "$NEWDISK" | cut -c1` > /dev/null
   DISKNUM=`echo "$NEWDISK" | cut -c2-4` > /dev/null
   if [ "$DEVNAME" = "d" ]
   then
      PREFIX=/dev/fp0$DISKNUM$RPARTITION
   else
      PREFIX=/dev/dp0$DISKNUM$RPARTITION
   fi


#	**********MOUNT THE NEW ROOT PARTITION TO /newroot**********
   echo "\n\n$FSCKCHECK\n\n"
   fsck -pq $PREFIX > /dev/null 2>&1 || { echo "$FSCKERROR"; exit 1; }
   echo "$FSCKDONE"
   mount $PREFIX /newroot > /dev/null 2>&1 || { echo "$CANTMOUNT"; exit 1; }
   
   
#	**********COPY FILES ON TAPE OR CARTRIDGE TO NEW ROOT**********
   echo "$COPY1 $DEVTYPE $COPY2"
   if [ "$DEVTYPE" = "$CARTRIDGE" ]
   then
      cd /.install
      find . -depth -print | cpio -pdvlum /newroot 2>/tmp/blocks
      cat /tmp/blocks
      echo "$COPY3 $DEVTYPE $COPY4"
   else
      cd /newroot
      cpio -icBudvlm < $MNTDEV 2>/tmp/blocks
      cat /tmp/blocks
      echo "$COPY3 $DEVTYPE $COPY4"
   fi


#	**********INSTALLATION COMPLETE - NOW RETURN CONTROL TO THE **********
#	**********        BOOTABLE IMAGE SCRIPT                     **********
   cd /
   rm -f /newroot/install /tmp/blocks
   umount $PREFIX > /dev/null 2>&1 || { echo "$CANTUMOUNT"; exit 1; }
   echo "$FSCKCHECK\n\n"
   fsck -pq $PREFIX > /dev/null 2>&1 || { echo "$FSCKERROR"; exit 1; }
   echo "$FSCKDONE\n\n"


#	*** RUN INSTALL SCRIPT AS UNBUNDLED SOFTWARE ***
else
   echo "$COPY1 $DEVTYPE $COPY2" 
   if [ "$DEVTYPE" = "$CARTRIDGE" ]
   then
      cd /.install
      find . -depth -print | cpio -pdvlum / 2>/tmp/blocks
      cat /tmp/blocks
      echo "$COPY3 $DEVTYPE $COPY4"
   else
      cd /
      cpio -icBudvlm < $MNTDEV 2>/tmp/blocks
      cat /tmp/blocks
      echo "$COPY3 $DEVTYPE $COPY4"
   fi
   rm -f /install /tmp/blocks
fi
exit 0
