1# $NetBSD: dot.commonutils,v 1.1 1997/06/14 18:56:08 perry 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 32# Installation utilites (functions), to get NetBSD installed on 33# the hard disk. These are meant to be invoked from the shell prompt, 34# by people installing NetBSD. 35 36# we know that /etc/fstab is only generated on the hard drive 37dest_dir=/ 38if [ ! -f /etc/fstab ]; then 39 dest_dir=/mnt/ 40fi 41 42# counter for possible shared library confusion 43TAR=/usr/bin/tar 44GUNZIP=/usr/bin/gunzip 45 46Set_tmp_dir() 47{ 48 def_tmp_dir=`pwd` 49 if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then 50 def_tmp_dir="$dest_dir"usr/distrib 51 fi 52 53 echo -n "What directory should be used to find and/or store " 54 echo "installtion" 55 echo -n "files? [$def_tmp_dir] " 56 read tmp_dir 57 if [ "$tmp_dir" = "" ]; then 58 tmp_dir=$def_tmp_dir 59 fi 60 if [ ! -d "$tmp_dir" ]; then 61 /bin/rm -rf $tmp_dir 62 mkdir -p $tmp_dir 63 fi 64} 65 66Tmp_dir() 67{ 68 if [ "$tmp_dir" = "" ]; then 69 Set_tmp_dir 70 fi 71 cd $tmp_dir 72} 73 74Load_fd() 75{ 76 Tmp_dir 77 which= 78# echo "Don't forget that you can't load from the drive you booted from." 79 echo "" 80 81 while [ "$which" != "0" -a "$which" != "1" ]; do 82 echo -n "Read from which floppy drive ('0' or '1')? [0] " 83 read which 84 if [ "X$which" = "X" ]; then 85 which=0 86 fi 87 done 88 echo "" 89 echo "WARNING: during the floppy loading process, you should only" 90 echo "use Control-C at the prompt." 91 echo "" 92 while echo -n \ 93 "Insert floppy (hit Control-C to terminate, enter to load): " 94 do 95 read foo 96 mount -r -t msdos /dev/fd${which}a /mnt2 97 cp -rp /mnt2/* . 98 umount /mnt2 99 done 100} 101 102Load_tape() 103{ 104 Tmp_dir 105 echo -n "Which tape drive will you be using? [rst0] " 106 read which 107 if [ "X$which" = "X" ]; then 108 which=rst0 109 fi 110 echo -n "Insert the tape into the tape drive and hit return to " 111 echo -n "continue..." 112 read foo 113 echo "Extracting files from the tape..." 114 $TAR --unlink -xvpf /dev/$which 115 echo "Done." 116} 117 118Extract() 119{ 120 Tmp_dir 121 echo -n "Would you like to list the files as they're extracted? [n] " 122 read verbose 123 case $verbose in 124 y*|Y*) 125 tarverbose=v 126 ;; 127 *) 128 tarverbose= 129 ;; 130 esac 131 cat "$1"* | $GUNZIP | (cd $dest_dir ; $TAR --unlink -xp"$tarverbose"f - ) 132} 133