# $NetBSD: dot.instutils,v 1.9 2003/07/26 17:06:28 salo 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 for the # NetBSD Project. See http://www.NetBSD.org/ for # information about NetBSD. # 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 utilites (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. Configure() { DEV=/mnt/dev ETC=/mnt/etc 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 /mnt/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 "Does this machine have an ethernet interface? [y] " read resp case "$resp" in n*) ;; *) intf= while [ "$intf" = "" ]; do echo -n "What is the primary interface name " echo -n "(e.g. ae0, ed0, le0, or es0)? " read intf done 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= ;; esac echo -n "Does this interface need additional flags? [n] " read resp case "$resp" in y*) echo -n "What flags? [link0] " read ifflags if [ "$ifflags" = "" ]; then ifflags=link0 fi ;; *) ifflags= ;; esac echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf echo "" echo -n "WARNING: if you have any more ethernet interfaces, " echo "you will have to configure" echo -n "them by hand. Read the comments in /etc/rc.d/network " echo "to learn how to do this." ;; esac echo "" echo -n "Making device nodes (may take a while)..." cd ${DEV} sh MAKEDEV all echo " done." echo "" echo -n "Copying the kernel..." cp /netbsd /mnt/netbsd echo "Done." echo -n "Installing boot block..." read rdev rest < /mnt/etc/fstab /mnt/usr/mdec/installboot /mnt/usr/mdec/xxboot `echo $rdev | sed -e 's^/dev/^/dev/r^'` echo " done." sync echo "" echo "You should now halt your machine using the 'halt' command." echo "Once the machine is halted, reboot it." }