210 lines
5.5 KiB
Plaintext
210 lines
5.5 KiB
Plaintext
|
# $NetBSD: dot.instutils,v 1.1 1997/10/19 15:29:09 oki 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."
|
|||
|
}
|