dot.instutils revision 1.7 1 # $NetBSD: dot.instutils,v 1.7 2000/06/14 06:48:48 cgd 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 # Installation configuration utilites (functions), to get NetBSD configured
32 # reasonably once it is installed on the hard disk. These are meant to be
33 # invoked from the shell prompt, by people installing NetBSD.
34
35 Configure()
36 {
37 DEV=/mnt/dev
38 ETC=/mnt/etc
39
40 echo "You will now be prompted for information about this"
41 echo "machine. If you hit return, the default answer (in"
42 echo "brackets) will be used."
43
44 echo ""
45 echo -n "What is this machine's hostname? [unknown.host.domain] "
46 read hname
47 if [ "$hname" = "" ]; then
48 hname=unknown.host.domain
49 fi
50 echo $hname > ${ETC}/myname
51 proto_domain=`echo $hname | sed -e 's/[^.]*\.//'`
52
53 echo ""
54 echo "What domain is this machine in (this is NOT its YP"
55 echo -n "domain name)? [$proto_domain] "
56 read dname
57 if [ "$dname" = "" ]; then
58 dname=$proto_domain
59 fi
60
61 echo ""
62 if [ -e /mnt/etc/sendmail.cf ]; then
63 echo "WARNING: A default sendmail.cf exists, and probably"
64 echo "needs to be tuned and/or replaced, to work properly at"
65 echo "your site!"
66 else
67 echo "WARNING: No default sendmail.cf installed. Did you"
68 echo "forget to install the 'etc' distribution?"
69 fi
70
71 echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts
72
73 echo ""
74 echo -n "Does this machine have an ethernet interface? [y] "
75 read resp
76 case "$resp" in
77 n*)
78 ;;
79 *)
80 intf=
81 while [ "$intf" = "" ]; do
82 echo -n "What is the primary interface name "
83 echo -n "(e.g. ae0, ed0, le0, or es0)? "
84 read intf
85 done
86 echo -n "What is the hostname for this interface? [$hname] "
87 read ifname
88 if [ "$ifname" = "" ]; then
89 ifname=$hname
90 fi
91 ifaddr=
92 while [ "$ifaddr" = "" ]; do
93 echo -n "What is the IP address associated with "
94 echo -n "interface ${intf}? "
95 read ifaddr
96 done
97 echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \
98 >> ${ETC}/hosts
99
100 echo -n "Does this interface have a special netmask? [n] "
101 read resp
102 case "$resp" in
103 y*)
104 echo -n "What is the netmask? [0xffffff00] "
105 read ifnetmask
106 if [ "$ifnetmask" = "" ]; then
107 ifnetmask=0xffffff00
108 fi
109 ;;
110 *)
111 ifnetmask=
112 ;;
113 esac
114
115 echo -n "Does this interface need additional flags? [n] "
116 read resp
117 case "$resp" in
118 y*)
119 echo -n "What flags? [link0] "
120 read ifflags
121 if [ "$ifflags" = "" ]; then
122 ifflags=link0
123 fi
124 ;;
125 *)
126 ifflags=
127 ;;
128 esac
129 echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf
130
131 echo ""
132 echo -n "WARNING: if you have any more ethernet interfaces, "
133 echo "you will have to configure"
134 echo -n "them by hand. Read the comments in /etc/rc.d/network "
135 echo "to learn how to do this."
136 ;;
137 esac
138
139 echo ""
140 echo -n "Making device nodes (may take a while)..."
141 cd ${DEV}
142 sh MAKEDEV all
143 echo " done."
144
145 echo ""
146 echo -n "Copying the kernel..."
147 cp /netbsd /mnt/netbsd
148 echo "Done."
149 echo -n "Installing boot block..."
150 read rdev rest < /mnt/etc/fstab
151 /mnt/usr/mdec/installboot /mnt/usr/mdec/xxboot `echo $rdev | sed -e 's^/dev/^/dev/r^'`
152 echo " done."
153
154 sync
155
156 echo ""
157 echo "You should now halt your machine using the 'halt' command."
158 echo "Once the machine is halted, reboot it."
159 }
160