210 lines
5.5 KiB
Plaintext
210 lines
5.5 KiB
Plaintext
# $NetBSD: dot.instutils,v 1.1 1999/03/12 18:36:52 ragge Exp $
|
||
#
|
||
# Copyright (c) 1994 Christopher G. Demetriou
|
||
# All rights reserved.
|
||
#
|
||
# Redistribution and use in source and binary forms, with or without
|
||
# modification, are permitted provided that the following conditions
|
||
# are met:
|
||
# 1. Redistributions of source code must retain the above copyright
|
||
# notice, this list of conditions and the following disclaimer.
|
||
# 2. Redistributions in binary form must reproduce the above copyright
|
||
# notice, this list of conditions and the following disclaimer in the
|
||
# documentation and/or other materials provided with the distribution.
|
||
# 3. All advertising materials mentioning features or use of this software
|
||
# must display the following acknowledgement:
|
||
# This product includes software developed by Christopher G. Demetriou.
|
||
# 4. The name of the author may not be used to endorse or promote products
|
||
# derived from this software without specific prior written permission
|
||
#
|
||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
#
|
||
|
||
# Installation configuration utilities (functions), to get NetBSD configured
|
||
# reasonably once it is installed on the hard disk. These are meant to be
|
||
# invoked from the shell prompt, by people installing NetBSD.
|
||
|
||
config_int()
|
||
{
|
||
local intf resp ifname ifaddr ifflags
|
||
intf=$1
|
||
case "$intf" in
|
||
""|lo*|ppp*|sl*|tun*)
|
||
return 0;
|
||
;;
|
||
*)
|
||
;;
|
||
esac
|
||
|
||
echo -n "Configure" $intf "? [y]"
|
||
read resp
|
||
case "$resp" in
|
||
n*|N*)
|
||
return 0;
|
||
;;
|
||
*)
|
||
;;
|
||
esac
|
||
|
||
echo -n "What is the hostname for this interface? [$hname] "
|
||
read ifname
|
||
if [ "$ifname" = "" ]; then
|
||
ifname=$hname
|
||
fi
|
||
ifaddr=
|
||
while [ "$ifaddr" = "" ]; do
|
||
echo -n "What is the IP address associated with "
|
||
echo -n "interface ${intf}? "
|
||
read ifaddr
|
||
done
|
||
echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \
|
||
>> ${ETC}/hosts
|
||
|
||
echo -n "Does this interface have a special netmask? [n] "
|
||
read resp
|
||
case "$resp" in
|
||
y*)
|
||
echo -n "What is the netmask? [0xffffff00] "
|
||
read ifnetmask
|
||
if [ "$ifnetmask" = "" ]; then
|
||
ifnetmask=0xffffff00
|
||
fi
|
||
ifnetmask_arg="netmask $ifnetmask"
|
||
;;
|
||
*)
|
||
ifnetmask=
|
||
ifnetmask_arg=
|
||
;;
|
||
esac
|
||
|
||
echo -n "Does this interface need a special media type? [n] "
|
||
read resp
|
||
case "$resp" in
|
||
y*)
|
||
echo -n "What media type? [10baseT/UTP] "
|
||
read ifflags
|
||
if [ "$ifflags" = "" ]; then
|
||
ifflags="10baseT/UTP"
|
||
fi
|
||
ifflags_arg="media $ifflags"
|
||
;;
|
||
*)
|
||
ifflags=
|
||
ifflags_arg=
|
||
;;
|
||
esac
|
||
echo "inet $ifname $ifnetmask_arg $ifflags_arg" > ${ETC}/ifconfig.$intf
|
||
}
|
||
|
||
|
||
Configure()
|
||
{
|
||
DEV=/dev
|
||
ETC=/etc
|
||
ROOT=/
|
||
if [ ! -f /etc/fstab ]; then
|
||
DEV=/mnt/dev
|
||
ETC=/mnt/etc
|
||
ROOT=/mnt
|
||
fi
|
||
|
||
echo "You will now be prompted for information about this"
|
||
echo "machine. If you hit return, the default answer (in"
|
||
echo "brackets) will be used."
|
||
|
||
echo ""
|
||
echo -n "What is this machine's hostname? [unknown.host.domain] "
|
||
read hname
|
||
if [ "$hname" = "" ]; then
|
||
hname=unknown.host.domain
|
||
fi
|
||
echo $hname > ${ETC}/myname
|
||
proto_domain=`echo $hname | sed -e 's/[^.]*\.//'`
|
||
|
||
echo ""
|
||
echo "What domain is this machine in (this is NOT its YP"
|
||
echo -n "domain name)? [$proto_domain] "
|
||
read dname
|
||
if [ "$dname" = "" ]; then
|
||
dname=$proto_domain
|
||
fi
|
||
|
||
echo ""
|
||
if [ -e $ETC/sendmail.cf ]; then
|
||
echo "WARNING: A default sendmail.cf exists, and probably"
|
||
echo "needs to be tuned and/or replaced, to work properly at"
|
||
echo "your site!"
|
||
else
|
||
echo "WARNING: No default sendmail.cf installed. Did you"
|
||
echo "forget to install the 'etc' distribution?"
|
||
fi
|
||
|
||
echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts
|
||
|
||
echo ""
|
||
echo -n "Configure network interfaces? [y] "
|
||
read resp
|
||
case "$resp" in
|
||
n*)
|
||
;;
|
||
*)
|
||
for if in `ifconfig -l`
|
||
do
|
||
config_int $if
|
||
done
|
||
;;
|
||
esac
|
||
|
||
|
||
echo ""
|
||
echo -n "Making device nodes (may take a while)..."
|
||
cd ${DEV}
|
||
sh MAKEDEV all
|
||
echo " done."
|
||
|
||
sync
|
||
|
||
if [ ! -f ${ROOT}/netbsd ]
|
||
then
|
||
echo "You have not unpacked the kernel installation"
|
||
echo "set. You must do so before you reboot."
|
||
fi
|
||
}
|
||
|
||
# Upgrade cleanup utilities (functions), to make sure a recently-upgraded
|
||
# system is safely runnable. These are meant to be invoked from the shell
|
||
# prompt, by people installing NetBSD.
|
||
|
||
Cleanup()
|
||
{
|
||
upgrade_dir=/
|
||
|
||
if [ ! -f /etc/fstab ]; then
|
||
upgrade_dir=/mnt
|
||
fi
|
||
|
||
echo "Cleaning up miscellaneous files in /etc..."
|
||
mv $upgrade_dir/etc/rc.bak $upgrade_dir/etc/rc
|
||
chroot $upgrade_dir /usr/sbin/pwd_mkdb -p /etc/master.passwd
|
||
chroot $upgrade_dir /bin/rm /etc/sendmail.fc > /dev/null 2>&1
|
||
sync
|
||
echo "Done."
|
||
|
||
echo ""
|
||
echo "All that's left to do now is to install a new NetBSD kernel"
|
||
echo "on your hard disk. You should now halt your machine using"
|
||
echo "the 'halt' command. Once the machine is halted, replace the"
|
||
echo "installation floppy with the kernel-copy floppy and hit any"
|
||
echo "key to reboot. Use the kernel-copy floppy to copy a kernel"
|
||
echo "to your hard disk."
|
||
}
|