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 36dest_dir=/ 37if [ ! -f /etc/fstab ]; then 38 dest_dir=/mnt/ 39fi 40 41# counter for possible shared library confusion 42PAX=/bin/pax 43GUNZIP=/usr/bin/gunzip 44 45Set_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 65Tmp_dir() 66{ 67 if [ "$tmp_dir" = "" ]; then 68 Set_tmp_dir 69 fi 70 cd $tmp_dir 71} 72 73Load_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 101Load_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 117Extract() 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