blob: 55e2144c45671d7bc91f95e06964cd1f76f48d08 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
#!/stand/sh
#
# netinst - configure the user's network.
#
# Written: November 11th, 1994
# Copyright (C) 1994 by Jordan K. Hubbard
#
# Permission to copy or use this software for any purpose is granted
# provided that this message stay intact, and at this location (e.g. no
# putting your name on top after doing something trivial like reindenting
# it, just to make it look like you wrote it!).
#
# $Id: netinst.sh,v 1.6 1994/11/18 16:27:54 jkh Exp $
if [ "$_NETINST_SH_LOADED_" = "yes" ]; then
return 0
else
_NETINST_SH_LOADED_=yes
fi
# Set some useful variables.
IFCONFIG=ifconfig
ROUTE=route
ROUTE_FLAGS="add default"
# Grab the miscellaneous functions.
. /stand/miscfuncs.sh
network_setup_ether()
{
dialog $clear --title "Ethernet Interface Name" \
--menu "Please select the type of ethernet interface you have:\n\n" \
-1 -1 7 \
"ed0" "WD80x3, SMC, Novell NE[21]000 or 3C503 generic NIC at 0x280" \
"ed1" "Same as above, but at address 0x300 and IRQ 5" \
"ep0" "3COM 3C509 at address 0x300 and IRQ 10" \
"de0" "DEC PCI ethernet adapter (or compatible)" \
"ie0" "AT&T StarLan and EN100 family at 0x360 and IRQ 7" \
"is0" "Isolan 4141-0 or Isolink 4110 at 0x280 and IRQ 7" \
"ze0" "PCMCIA IBM or National card at 0x300 and IRQ 5" \
2> ${TMP}/menu.tmp.$$
retval=$?
interface=`cat ${TMP}/menu.tmp.$$`
rm -f ${TMP}/menu.tmp.$$
if ! handle_rval $retval; then return 1; fi
}
network_setup_slip()
{
clear=""
default_value=""
if ! network_dialog "What is the IP number for the remote host?"; then return 1; fi
remote_hostip=$answer
interface=sl0
default_value=$serial_interface
if ! network_dialog "What is the name of the serial interface?"; then return 1; fi
serial_interface=$answer
default_value=$serial_speed
if ! network_dialog "What speed is the serial interface?"; then return 1; fi
serial_speed=$answer
clear="--clear"
if dialog $clear --title "Dial" --yesno "Do you need to dial the phone or otherwise talk to the modem?" -1 -1; then
mkdir -p /var/log
touch -f /var/log/aculog > /dev/null 2>&1
chmod 666 /var/log/aculog > /dev/null 2>&1
confirm "You may now dialog with your modem and set up the slip connection.\nBe sure to disable DTR sensitivity (usually with AT&D0) or the modem may\nhang up when you exit 'cu'. Use ~. to exit cu and continue."
dialog --clear
# Grottyness to deal with a weird crunch bug.
if [ ! -f /stand/cu ]; then ln /stand/tip /stand/cu; fi
/stand/cu -l $serial_interface -s $serial_speed
dialog --clear
fi
}
network_setup_plip()
{
default_value=""
if ! network_dialog "What is the IP number for the remote host?"; then return 1; fi
remote_hostip=$answer
interface=lp0
}
network_setup()
{
done=0
while [ "$interface" = "" ]; do
clear="--clear"
dialog $clear --title "Set up network interface" \
--menu "Please select the type of network connection you have:\n\n" \
-1 -1 3 \
"ether" "A supported ethernet card" \
"SLIP" "A point-to-point SLIP (Serial Line IP) connection" \
"PLIP" "A Parallel-Line IP setup (with standard laplink cable)" \
2> ${TMP}/menu.tmp.$$
retval=$?
choice=`cat ${TMP}/menu.tmp.$$`
rm -f ${TMP}/menu.tmp.$$
if ! handle_rval $retval; then return 1; fi
case $choice in
ether)
if ! network_setup_ether; then continue; fi
;;
SLIP)
if ! network_setup_slip; then continue; fi
;;
PLIP)
if ! network_setup_plip; then continue; fi
;;
esac
if [ "$interface" = "" ]; then continue; fi
clear=""
default_value=""
if ! network_dialog "What is the fully qualified name of this host?"; then clear="--clear"; return 1; fi
hostname=$answer
echo $hostname > /etc/myname
hostname $hostname
default_value=`echo $hostname | sed -e 's/[^.]*\.//'`
if network_dialog "What is the domain name of this host (Internet, not YP/NIS)?"; then
domain=$answer
fi
default_value=""
if ! network_dialog "What is the IP address of this host?"; then clear="--clear"; return 1; fi
ipaddr=$answer
echo "$ipaddr $hostname `echo $hostname | sed -e 's/\.$domain//'`" >> /etc/hosts
default_value="$netmask"
if network_dialog "Please specify the netmask"; then
if [ "$answer" != "" ]; then
netmask=$answer
fi
fi
default_value=""
if network_dialog "Any extra flags to ifconfig?" ; then
ifconfig_flags=$answer
fi
echo "Progress <$IFCONFIG $interface $ipaddr $remote_hostip netmask $netmask $ifconfig_flags>" >/dev/ttyv1
if ! $IFCONFIG $interface $ipaddr $remote_hostip netmask $netmask $ifconfig_flags > /dev/ttyv1 2>&1 ; then
error "Unable to configure interface $interface"
ipaddr=""; interface=""
continue
fi
if [ "$interface" = "sl0" ]; then
slattach -a -s $serial_speed $serial_interface
fi
echo "$ipaddr $remote_hostip netmask $netmask $ifconfig_flags" > /etc/hostname.$interface
default_value=""
if network_dialog "If you have a default gateway, enter its IP address"; then
if [ "$answer" != "" ]; then
gateway=$answer
echo "Progress <$ROUTE $ROUTE_FLAGS $gateway>" > /dev/ttyv1 2>&1
$ROUTE $ROUTE_FLAGS $gateway > /dev/ttyv1 2>&1
echo $gateway > /etc/defaultrouter
fi
fi
default_value=""
if network_dialog "If you have a name server, enter its IP address"; then
if [ "$answer" != "" ]; then
nameserver=$answer
echo "domain $domain" > /etc/resolv.conf
echo "nameserver $nameserver" >> /etc/resolv.conf
fi
fi
done
return 0
}
|