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