Home | History | Annotate | Line # | Download | only in script-installer
dot.commonutils revision 1.5
      1 # $NetBSD: dot.commonutils,v 1.5 2000/06/14 06:48:57 cgd Exp $
      2 #
      3 # Copyright (c) 1994 Christopher G. Demetriou
      4 # All rights reserved.
      5 # 
      6 # Redistribution and use in source and binary forms, with or without
      7 # modification, are permitted provided that the following conditions
      8 # are met:
      9 # 1. Redistributions of source code must retain the above copyright
     10 #    notice, this list of conditions and the following disclaimer.
     11 # 2. Redistributions in binary form must reproduce the above copyright
     12 #    notice, this list of conditions and the following disclaimer in the
     13 #    documentation and/or other materials provided with the distribution.
     14 # 3. All advertising materials mentioning features or use of this software
     15 #    must display the following acknowledgement:
     16 #	This product includes software developed by Christopher G. Demetriou.
     17 # 4. The name of the author may not be used to endorse or promote products
     18 #    derived from this software without specific prior written permission
     19 #
     20 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     21 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     22 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     23 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     24 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     25 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     26 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     27 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     28 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     29 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30 
     31 # Installation utilites (functions), to get NetBSD installed on
     32 # the hard disk.  These are meant to be invoked from the shell prompt,
     33 # by people installing NetBSD.
     34 
     35 # we know that /etc/fstab is only generated on the hard drive
     36 dest_dir=/
     37 if [ ! -f /etc/fstab ]; then
     38 	dest_dir=/mnt/
     39 fi
     40 
     41 # counter for possible shared library confusion
     42 PAX=/bin/pax
     43 GUNZIP=/usr/bin/gunzip
     44 
     45 Set_tmp_dir()
     46 {
     47 	def_tmp_dir=`pwd`
     48 	if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then
     49 		def_tmp_dir="$dest_dir"usr/distrib
     50 	fi
     51 
     52 	echo -n	"What directory should be used to find and/or store "
     53 	echo	"installtion"
     54 	echo -n	"files such as base.tgz and kern.tgz? [$def_tmp_dir] "
     55 	read tmp_dir
     56 	if [ "$tmp_dir" = "" ]; then
     57 		tmp_dir=$def_tmp_dir
     58 	fi
     59 	if [ ! -d "$tmp_dir" ]; then
     60 		/bin/rm -rf $tmp_dir
     61 		mkdir -p $tmp_dir
     62 	fi
     63 }
     64 
     65 Tmp_dir()
     66 {
     67 	if [ "$tmp_dir" = "" ]; then
     68 		Set_tmp_dir
     69 	fi
     70 	cd $tmp_dir
     71 }
     72 
     73 Load_fd()
     74 {
     75 	Tmp_dir
     76 	which=
     77 #	echo "Don't forget that you can't load from the drive you booted from."
     78 	echo ""
     79 
     80 	while [ "$which" != "0" -a "$which" != "1" ]; do
     81 		echo -n	"Read from which floppy drive ('0' or '1')? [0] "
     82 		read which
     83 		if [ "X$which" = "X" ]; then
     84 			which=0
     85 		fi
     86 	done
     87 	echo	""
     88 	echo	"WARNING: during the floppy loading process, you should only"
     89 	echo	"use Control-C at the prompt."
     90 	echo	""
     91 	while echo -n \
     92 	    "Insert floppy (hit Control-C to terminate, enter to load): "
     93 	do
     94 		read foo
     95 		mount -r -t msdos /dev/fd${which}a /mnt2
     96 		cp -rp /mnt2/* .
     97 		umount /mnt2
     98 	done
     99 }
    100 
    101 Load_tape()
    102 {
    103 	Tmp_dir
    104 	echo -n	"Which tape drive will you be using? [rst0] "
    105 	read which
    106 	if [ "X$which" = "X" ]; then
    107 		which=rst0
    108 	fi
    109 	echo -n "Insert the tape into the tape drive and hit return to "
    110 	echo -n "continue..."
    111 	read foo
    112 	echo	"Extracting files from the tape..."
    113 	$PAX -rvpe -f /dev/$which
    114 	echo	"Done."
    115 }
    116 
    117 Extract()
    118 {
    119 	Tmp_dir
    120 	echo -n "Would you like to list the files as they're extracted? [n] "
    121 	read verbose
    122 	case $verbose in
    123 	y*|Y*)
    124 		tarverbose=-v
    125 		;;
    126 	*)
    127 		tarverbose=
    128 		;;
    129 	esac
    130 	cat "$1"* | $GUNZIP | (cd $dest_dir ; $PAX -rpe $tarverbose )
    131 }
    132