1# $NetBSD: dot.instutils,v 1.8 2003/07/26 17:07:38 salo 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 for the 17# NetBSD Project. See http://www.NetBSD.org/ for 18# information about NetBSD. 19# 4. The name of the author may not be used to endorse or promote products 20# derived from this software without specific prior written permission. 21# 22# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 23# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 25# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 26# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 27# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32# 33# <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>> 34 35# Installation configuration utilities (functions), to get NetBSD configured 36# reasonably once it is installed on the hard disk. These are meant to be 37# invoked from the shell prompt, by people installing NetBSD. 38 39config_int() 40{ 41 local intf resp ifname ifaddr ifflags 42 intf=$1 43 case "$intf" in 44 ""|lo*|ppp*|sl*|tun*) 45 return 0; 46 ;; 47 *) 48 ;; 49 esac 50 51 echo -n "Configure" $intf "? [y]" 52 read resp 53 case "$resp" in 54 n*|N*) 55 return 0; 56 ;; 57 *) 58 ;; 59 esac 60 61 echo -n "What is the hostname for this interface? [$hname] " 62 read ifname 63 if [ "$ifname" = "" ]; then 64 ifname=$hname 65 fi 66 ifaddr= 67 while [ "$ifaddr" = "" ]; do 68 echo -n "What is the IP address associated with " 69 echo -n "interface ${intf}? " 70 read ifaddr 71 done 72 echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \ 73 >> ${ETC}/hosts 74 75 echo -n "Does this interface have a special netmask? [n] " 76 read resp 77 case "$resp" in 78 y*) 79 echo -n "What is the netmask? [0xffffff00] " 80 read ifnetmask 81 if [ "$ifnetmask" = "" ]; then 82 ifnetmask=0xffffff00 83 fi 84 ifnetmask_arg="netmask $ifnetmask" 85 ;; 86 *) 87 ifnetmask= 88 ifnetmask_arg= 89 ;; 90 esac 91 92 echo -n "Does this interface need a special media type? [n] " 93 read resp 94 case "$resp" in 95 y*) 96 echo -n "What media type? [10baseT/UTP] " 97 read ifflags 98 if [ "$ifflags" = "" ]; then 99 ifflags="10baseT/UTP" 100 fi 101 ifflags_arg="media $ifflags" 102 ;; 103 *) 104 ifflags= 105 ifflags_arg= 106 ;; 107 esac 108 echo "inet $ifname $ifnetmask_arg $ifflags_arg" > ${ETC}/ifconfig.$intf 109} 110 111 112Configure() 113{ 114 DEV=/dev 115 ETC=/etc 116 ROOT=/ 117 if [ ! -f /etc/fstab ]; then 118 DEV=/mnt/dev 119 ETC=/mnt/etc 120 ROOT=/mnt 121 fi 122 123 echo "You will now be prompted for information about this" 124 echo "machine. If you hit return, the default answer (in" 125 echo "brackets) will be used." 126 127 echo "" 128 echo -n "What is this machine's hostname? [unknown.host.domain] " 129 read hname 130 if [ "$hname" = "" ]; then 131 hname=unknown.host.domain 132 fi 133 echo $hname > ${ETC}/myname 134 proto_domain=`echo $hname | sed -e 's/[^.]*\.//'` 135 136 echo "" 137 echo "What DNS domain is this machine in (this is NOT its YP" 138 echo -n "domain name)? [$proto_domain] " 139 read dname 140 if [ "$dname" = "" ]; then 141 dname=$proto_domain 142 fi 143 144 echo "" 145 if [ -e $ETC/sendmail.cf ]; then 146 echo "WARNING: A default sendmail.cf exists, and probably" 147 echo "needs to be tuned and/or replaced, to work properly at" 148 echo "your site!" 149 else 150 echo "WARNING: No default sendmail.cf installed. Did you" 151 echo "forget to install the 'etc' distribution?" 152 fi 153 154 echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts 155 156 echo "" 157 echo -n "Configure network interfaces? [y] " 158 read resp 159 case "$resp" in 160 n*) 161 ;; 162 *) 163 for if in `ifconfig -l` 164 do 165 config_int $if 166 done 167 ;; 168 esac 169 170 171 echo "" 172 echo -n "Making device nodes (may take a while)..." 173 cd ${DEV} 174 sh MAKEDEV all 175 echo " done." 176 177 sync 178 179 if [ ! -f ${ROOT}/netbsd ] 180 then 181 echo "You have not unpacked the kernel installation" 182 echo "set. You must do so before you reboot." 183 fi 184} 185 186# Upgrade cleanup utilities (functions), to make sure a recently-upgraded 187# system is safely runnable. These are meant to be invoked from the shell 188# prompt, by people installing NetBSD. 189 190Cleanup() 191{ 192 upgrade_dir=/ 193 194 if [ ! -f /etc/fstab ]; then 195 upgrade_dir=/mnt 196 fi 197 198 echo "Cleaning up miscellaneous files in /etc..." 199 mv $upgrade_dir/etc/rc.bak $upgrade_dir/etc/rc 200 chroot $upgrade_dir /usr/sbin/pwd_mkdb -p /etc/master.passwd 201 chroot $upgrade_dir /bin/rm /etc/sendmail.fc > /dev/null 2>&1 202 sync 203 echo "Done." 204 205 echo "" 206 echo "All that's left to do now is to install a new NetBSD kernel" 207 echo "on your hard disk. You should now halt your machine using" 208 echo "the 'halt' command. Once the machine is halted, replace the" 209 echo "installation floppy with the kernel-copy floppy and hit any" 210 echo "key to reboot. Use the kernel-copy floppy to copy a kernel" 211 echo "to your hard disk." 212} 213