summaryrefslogtreecommitdiffstats
path: root/release/netinst.sh
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1994-11-16 07:51:45 +0000
committerjkh <jkh@FreeBSD.org>1994-11-16 07:51:45 +0000
commit6f2263602c66db2070a547e628b802cbfa4b37da (patch)
tree9e9a334f4ef2b599608468884e40e89dfa990743 /release/netinst.sh
parent3e67e7f9c3793e8b3d64d634a04a9561a6ac1f7e (diff)
downloadFreeBSD-src-6f2263602c66db2070a547e628b802cbfa4b37da.zip
FreeBSD-src-6f2263602c66db2070a547e628b802cbfa4b37da.tar.gz
1. Split these scripts into smaller distinct functional units that will
be callable _after_ installation in 2.1's system admin tools. This is almost totally revamped now. 2. Support installation from DOS partition or floppy. 3. Many stray bogons eliminated. Perhaps a few introduced. One more rev should fix this up, once I've spammed my test machine a couple of times. 4. Installation from CD now *really* possible. 5. Allow user to specify arbitary subdirectories for NFS mountpoints - UFS, NFS and CD distributions now share many common elements.
Diffstat (limited to 'release/netinst.sh')
-rw-r--r--release/netinst.sh174
1 files changed, 174 insertions, 0 deletions
diff --git a/release/netinst.sh b/release/netinst.sh
new file mode 100644
index 0000000..417293a
--- /dev/null
+++ b/release/netinst.sh
@@ -0,0 +1,174 @@
+#!/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: bininst,v 1.38 1994/11/15 13:40:00 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.
+. miscfuncs.sh
+
+network_setup_ether()
+{
+ dialog $clear --title "Ethernet Interface Name" \
+ --menu "Please select the type of ethernet interface you have:\n\n" \
+ 20 76 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?"; 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
+ 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" \
+ 15 72 3 \
+ "ether" "A supported ethernet card" \
+ "SLIP" "A point-to-point SLIP (Serial Line IP) connection" \
+ "PLIP" "A Parallel-Line IP setup (sort of like lap-link)" \
+ 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
+ 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
+}
OpenPOWER on IntegriCloud