dot.instutils revision 1.1 1 # $NetBSD: dot.instutils,v 1.1 1997/06/14 18:56:10 perry 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
32 # Installation configuration utilities (functions), to get NetBSD configured
33 # reasonably once it is installed on the hard disk. These are meant to be
34 # invoked from the shell prompt, by people installing NetBSD.
35
36 Configure()
37 {
38 DEV=/dev
39 ETC=/etc
40 if [ ! -f /etc/fstab ]; then
41 DEV=/mnt/dev
42 ETC=/mnt/etc
43 fi
44
45 echo "You will now be prompted for information about this"
46 echo "machine. If you hit return, the default answer (in"
47 echo "brackets) will be used."
48
49 echo ""
50 echo -n "What is this machine's hostname? [unknown.host.domain] "
51 read hname
52 if [ "$hname" = "" ]; then
53 hname=unknown.host.domain
54 fi
55 echo $hname > ${ETC}/myname
56 proto_domain=`echo $hname | sed -e 's/[^.]*\.//'`
57
58 echo ""
59 echo "What domain is this machine in (this is NOT its YP"
60 echo -n "domain name)? [$proto_domain] "
61 read dname
62 if [ "$dname" = "" ]; then
63 dname=$proto_domain
64 fi
65
66 echo ""
67 if [ -e $ETC/sendmail.cf ]; then
68 echo "WARNING: A default sendmail.cf exists, and probably"
69 echo "needs to be tuned and/or replaced, to work properly at"
70 echo "your site!"
71 else
72 echo "WARNING: No default sendmail.cf installed. Did you"
73 echo "forget to install the 'etc' distribution?"
74 fi
75
76 echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts
77
78 echo ""
79 echo -n "Does this machine have an ethernet interface? [y] "
80 read resp
81 case "$resp" in
82 n*)
83 ;;
84 *)
85 intf=
86 while [ "$intf" = "" ]; do
87 echo -n "What is the primary interface name "
88 echo -n "(e.g. ed0, ep0, etc)? "
89 read intf
90 done
91 echo -n "What is the hostname for this interface? [$hname] "
92 read ifname
93 if [ "$ifname" = "" ]; then
94 ifname=$hname
95 fi
96 ifaddr=
97 while [ "$ifaddr" = "" ]; do
98 echo -n "What is the IP address associated with "
99 echo -n "interface ${intf}? "
100 read ifaddr
101 done
102 echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \
103 >> ${ETC}/hosts
104
105 echo -n "Does this interface have a special netmask? [n] "
106 read resp
107 case "$resp" in
108 y*)
109 echo -n "What is the netmask? [0xffffff00] "
110 read ifnetmask
111 if [ "$ifnetmask" = "" ]; then
112 ifnetmask=0xffffff00
113 fi
114 ;;
115 *)
116 ifnetmask=
117 ;;
118 esac
119
120 echo -n "Does this interface need additional flags? [n] "
121 read resp
122 case "$resp" in
123 y*)
124 echo -n "What flags? [link0] "
125 read ifflags
126 if [ "$ifflags" = "" ]; then
127 ifflags=link0
128 fi
129 ;;
130 *)
131 ifflags=
132 ;;
133 esac
134 echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf
135
136 echo ""
137 echo -n "WARNING: if you have any more ethernet interfaces, "
138 echo "you will have to configure"
139 echo -n "them by hand. Read the comments in /etc/netstart to "
140 echo "learn how to do this."
141 ;;
142 esac
143
144 echo ""
145 echo -n "Making device nodes (may take a while)..."
146 cd ${DEV}
147 sh MAKEDEV all
148 echo " done."
149
150 sync
151
152 echo ""
153 echo "If you haven't already installed a kernel on the hard drive"
154 echo "using your kernel-copy floppy, do so now. Kernel"
155 echo "installation instructions can be found in the"
156 echo "installation notes."
157 }
158
159 # Upgrade cleanup utilities (functions), to make sure a recently-upgraded
160 # system is safely runnable. These are meant to be invoked from the shell
161 # prompt, by people installing NetBSD.
162
163 Cleanup()
164 {
165 upgrade_dir=/
166
167 if [ ! -f /etc/fstab ]; then
168 upgrade_dir=/mnt
169 fi
170
171 echo "Cleaning up miscellaneous files in /etc..."
172 mv $upgrade_dir/etc/rc.bak $upgrade_dir/etc/rc
173 chroot $upgrade_dir /usr/sbin/pwd_mkdb -p /etc/master.passwd
174 chroot $upgrade_dir /bin/rm /etc/sendmail.fc > /dev/null 2>&1
175 sync
176 echo "Done."
177
178 echo ""
179 echo "All that's left to do now is to install a new NetBSD kernel"
180 echo "on your hard disk. You should now halt your machine using"
181 echo "the 'halt' command. Once the machine is halted, replace the"
182 echo "installation floppy with the kernel-copy floppy and hit any"
183 echo "key to reboot. Use the kernel-copy floppy to copy a kernel"
184 echo "to your hard disk."
185 }
186