home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- while [ 0 ]; do
- rm -f /tmp/SeTDS /tmp/SeTmount
-
- cat << EOF > /tmp/tmpmsg
-
- WARNING! Installing via NFS can be a real time-saver if you're
- good with TCP/IP, but is a tricky installation choice for the
- beginner. Some of the things you may have to do to get this
- option to work include:
-
- -- Setting up an /etc/networks file on the bootdisk
- -- Mandatory: getting the source directory exported from
- your NFS server
- -- Starting up 'portmap'
-
- Are you sure you want to try to install via NFS?
- EOF
- dialog --title "INSTALLATION THROUGH NFS" --yesno "`cat /tmp/tmpmsg`" 17 68
- if [ $? = 1 -o $? = 255 ]; then
- rm -f /tmp/tmpmsg
- exit
- fi
- rm -f /tmp/tmpmsg
- T_PX="`cat /tmp/SeTT_PX`"
- UPNRUN=1
- if [ "$T_PX" = "/" ]; then
- cat << EOF > /tmp/tmpmsg
-
- You're running off the hard drive filesystem. Is this machine
- currently running on the network you plan to install from? If
- so, we won't try to reconfigure your ethernet card.
-
- Are you up-and-running on the network?
- EOF
- dialog --title "NFS INSTALLATION" --yesno "`cat /tmp/tmpmsg`" 11 68
- UPNRUN=$?
- fi
- if [ $UPNRUN = 1 ]; then
- cat << EOF > /tmp/tmpmsg
-
- You will need to enter the IP address you wish to
- assign to this machine. Example: 111.112.113.114
-
- What is your IP address?
- EOF
- dialog --title "ASSIGN IP ADDRESS" --inputbox "`cat /tmp/tmpmsg`" 13 65 2> /tmp/local
- if [ $? = 1 -o $? = 255 ]; then
- rm -f /tmp/tmpmsg /tmp/local
- exit
- fi
- LOCAL_IPADDR="`cat /tmp/local`"
- rm -f /tmp/local
- cat << EOF > /tmp/tmpmsg
-
- Now we need to know your netmask.
- Typically this will be 255.255.255.0
- but this can be different depending on
- your local setup.
-
- What is your netmask?
- EOF
- dialog --title "ASSIGN NETMASK" --inputbox "`cat /tmp/tmpmsg`" 15 65 2> /tmp/mask
- if [ $? = 1 -o $? = 255 ]; then
- rm -f /tmp/tmpmsg /tmp/mask
- exit
- fi
- LOCAL_NETMASK="`cat /tmp/mask`"
- rm /tmp/mask
- # cat << EOF > /tmp/tmpmsg
- #
- #Typically your broadcast address will be the same as
- #your IP address with 255 replacing the final value.
- #Example: 111.112.113.255
- #
- #What is your broadcast address?
- #EOF
- # dialog --title "ASSIGN BROADCAST ADDRESS" --inputbox "`cat /tmp/tmpmsg`" 14 65 2> /tmp/broadc
- # if [ $? = 1 -o $? = 255 ]; then
- # rm -f /tmp/tmpmsg /tmp/broadc
- # exit
- # fi
- # LOCAL_BROADCAST="`cat /tmp/broadc`"
- # rm /tmp/broadc
- # cat << EOF > /tmp/tmpmsg
- #
- #Now we need your network address.
- #
- #Your network address will usually be the same as your IP
- #address, with the last value replaced by 0.
- #For example: 111.112.113.0
- #
- #What is your network address?
- #EOF
- # dialog --title "ASSIGN NETWORK ADDRESS" --inputbox "`cat /tmp/tmpmsg`" 16 65 2> /tmp/netw
- # if [ $? = 1 -o $? = 255 ]; then
- # rm -f /tmp/tmpmsg /tmp/netw
- # exit
- # fi
- # LOCAL_NETWORK="`cat /tmp/netw`"
- # rm /tmp/netw
- LOCAL_BROADCAST=`ipmask $LOCAL_NETMASK $LOCAL_IPADDR | cut -f 1 -d ' '`
- LOCAL_NETWORK=`ipmask $LOCAL_NETMASK $LOCAL_IPADDR | cut -f 2 -d ' '`
- dialog --yesno "Do you have a gateway?" 6 30
- HAVE_GATEWAY=$?
- if [ "$HAVE_GATEWAY" = "0" ]; then
- dialog --title "ASSIGN GATEWAY ADDRESS" --inputbox "\nWhat is your gateway address?" 10 65 2> /tmp/gw
- if [ $? = 1 -o $? = 255 ]; then
- rm -f /tmp/tmpmsg /tmp/gw
- exit
- fi
- LOCAL_GATEWAY="`cat /tmp/gw`"
- rm -f /tmp/gw
- fi
- fi # ! UPNRUN
-
- cat << EOF > /tmp/tmpmsg
-
- Good! We're all set on the local end, but now we need to know
- where to find the software packages to install. First, we need
- the IP address of the machine where the Slackware sources are
- stored.
-
- EOF
- if [ "$UPNRUN" = "0" ]; then
- cat << EOF >> /tmp/tmpmsg
- Since you're already running on the network, you should be able
- to use the hostname instead of an IP address if you wish.
-
- EOF
- fi
- echo "What is the IP address of your NFS server? " >> /tmp/tmpmsg
- dialog --title "ENTER IP ADDRESS OF NFS SERVER" --inputbox \
- "`cat /tmp/tmpmsg`" 17 70 2> /tmp/remote
- if [ $? = 1 -o $? = 255 ]; then
- rm -f /tmp/tmpmsg /tmp/remote
- exit
- fi
- REMOTE_IPADDR="`cat /tmp/remote`"
- rm /tmp/remote
- if [ ! "$UPNRUN" = "0" ]; then
- # cat << EOF > /tmp/tmpmsg
- #
- #Slackware can configure either an INTERNAL ethernet card, or an
- #EXTERNAL D-Link adaptor.
- #
- #Which type of ethernet device do you have?
- #EOF
- # dialog --title "ETHERNET DEVICE SELECTION" --menu "`cat /tmp/tmpmsg`" 14 70 2 \
- #"Internal" "Internal ethernet card" \
- #"External" "External D-Link adaptor" 2> /tmp/enet
- # if [ $? = 1 -o $? = 255 ]; then
- # rm -f /tmp/tmpmsg /tmp/enet
- # exit
- # fi
- # ENET_DEVICE="`cat /tmp/enet`"
- # rm /tmp/enet
- # if [ "$ENET_DEVICE" = "External" ]; then
- # ENET_DEVICE="dl0"
- # else
- ENET_DEVICE="eth0"
- # fi
- fi # ! UPNRUN
-
- cat << EOF > /tmp/tmpmsg
-
- There must be a directory on the server with the Slackware
- sources for each disk in subdirectories beneath it.
-
- The installation script needs to know the name of the
- directory on your server that contains the disk
- subdirectories. For example, if your A3 disk is found at
- /slackware/a3, then you would respond: /slackware
-
- What is the Slackware source directory?
- EOF
- dialog --title "SELECT SOURCE DIRECTORY" --inputbox "`cat /tmp/tmpmsg`" 17 65 2> /tmp/slacksrc
- if [ $? = 1 -o $? = 255 ]; then
- rm -f /tmp/tmpmsg /tmp/slacksrc
- exit
- fi
- REMOTE_PATH="`cat /tmp/slacksrc`"
- rm /tmp/slacksrc
- reset
- echo
- echo
- echo
- echo "We'll switch into text mode here so you can see if you have any errors."
- echo
- if [ ! "$UPNRUN" = "0" ]; then
- echo
- echo "We'll switch into text mode here so you can see if you have any errors."
- echo
- echo "Configuring ethernet card..."
- ifconfig $ENET_DEVICE $LOCAL_IPADDR netmask $LOCAL_NETMASK broadcast $LOCAL_BROADCAST
- route add -net $LOCAL_NETWORK
- if [ "$HAVE_GATEWAY" = "0" ]; then
- echo "Configuring your gateway..."
- route add default gw $LOCAL_GATEWAY metric 1
- fi
- fi
- echo "Mounting NFS..."
- mount -t nfs $REMOTE_IPADDR:$REMOTE_PATH /var/adm/mount
- echo "/var/adm/mount" > /tmp/SeTDS
- echo "-source_mounted" > /tmp/SeTmount
- echo "/dev/null" > /tmp/SeTsource
- echo
- echo "Current mount table:"
- mount
- echo -n "Do you think you need to try this again ([y]es, [n]o)? "
- read TRY_AGAIN;
- if [ "$TRY_AGAIN" = "n" ]; then
- exit
- fi
- if [ "$UPNRUN" = "1" ]; then
- route del $LOCAL_NETWORK
- ifconfig $ENET_DEVICE down
- fi
- done
-