#!/bin/sh

modprobe nfs

while [ 0 ]; do
rm -f /tmp/SeTDS /tmp/SeTmount

 cat << EOF > /tmp/tmpmsg

ٹ NFSͳΥ󥹥ȡϡʤTCPIP˴Ƥ
˻֤Ǥޤ鿴ԤˤȤäƤϤʤʣ
󥹥ȡˡǤNFSͳΥ󥹥ȡǹԤʤФʤ
ܤˤϡʲΤ褦ʤΤޤ

-- ֡ȥǥbootdiskˤ/etc/networks
-- ɬܡNFSСˡ󥹥ȡ븵ǥ쥯ȥ
   export

NFSͳΥ󥹥ȡԤޤ
EOF
 dialog --title "NFSͳΥ󥹥ȡ" --yesno "`cat /tmp/tmpmsg`" 16 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

ϡɥǥΥե륷ƥफ¹ԤƤޤ
ޥϸߥ󥹥ȡ븵Ȥʤ륵Фȥͥåȥ³
Ƥޤ⤷ʤ顢ͥåȥɤΥꥳե
ϹԤޤ

ͥåȥ³Ƥޤ
EOF

  dialog --title "NFS󥹥ȡ" --yesno "`cat /tmp/tmpmsg`" 11 68
  UPNRUN=$?
 fi
 if [ $UPNRUN = 1 ]; then

  dialog --title "DHCPѡ" --yesno "Υ󥹥ȡDHCPIPɥ쥹\n\
ǽǤDHCPѤޤ\n\
(ͥåȥDHCPФɬ)" 7 62
  if [ $? = 0 ]; then
      DHCP=1
  fi

if [ ! $DHCP ]; then
  cat << EOF > /tmp/tmpmsg

Υޥ˳ƤIPɥ쥹ϤƤ
㤨С111.112.113.114

IPɥ쥹ϲǤ
EOF
  dialog --title "IPɥ쥹" --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

ͥåȥޥꤹɬפޤ
ŵŪˤ255.255.255.0Ǥ
ϥˤäơۤʤ
ǽޤ

ͥåȥޥϲǤ
EOF
  dialog --title "ͥåȥޥ" --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 --title "ȥɥ쥹" \
--inputbox "\nȥɥ쥹ϲǤ \
ȥ̵ Enter 򲡤ƿʤƤ" 15 72 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
   HAVE_GATEWAY=0 
   if [ ! "x.$LOCAL_GATEWAY" = "x." ]; then
       HAVE_GATEWAY=1
   fi
 fi # DHCP

 fi # ! UPNRUN

 cat << EOF > /tmp/tmpmsg

ơ¦ϽޤϤɤ˥󥹥ȡ뤹
եȥѥå뤫ꤹɬפޤޤ
Plamo LinuxΥ󥹥ȡ븵ȤʤޥIPɥ쥹ꤷޤ

EOF
 if [ "$UPNRUN" = "0" ]; then
  cat << EOF >> /tmp/tmpmsg
⤦ͥåȥ³Ƥޤ顢ɬפʤIPɥ쥹
˥ۥ̾ѤǤϤǤ

EOF
 fi
 echo "NFSСIPɥ쥹ϲǤ " >> /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
   ENET_DEVICE="eth0" 
 fi # ! UPNRUN

 cat << EOF > /tmp/tmpmsg

 СPlamo LinuxäƤǥ쥯ȥβˤϡ
ġΥǥб֥ǥ쥯ȥ꤬ʤ
ʤޤ
Υ󥹥ȡ륹ץȤ¹Ԥ뤿ˡ줾
ǥб֥ǥ쥯ȥäƤ륵С
Υǥ쥯ȥ̾ɬפǤ㤨Сǥå a 
 /plamo/a ˤΤʤ顢/plamo Ȥ

PlamoΥ󥹥ȡ븵Υǥ쥯ȥϤƤ
EOF
 dialog --title "ǥ쥯ȥ" --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
 echo
 echo 
 echo
 echo "顼ǧ뤿ᡢƥȥ⡼ɤؤޤ"
 echo
 if [ ! "$UPNRUN" = "0" ]; then
  echo
  echo "顼ǧ뤿ᡢƥȥ⡼ɤؤޤ"
  echo
  echo "ͥåȥ..."
  if [ ! $DHCP  ]; then
    ifconfig $ENET_DEVICE $LOCAL_IPADDR netmask $LOCAL_NETMASK broadcast $LOCAL_BROADCAST
    route add -net $LOCAL_NETWORK
    if [ "$HAVE_GATEWAY" != "0" ]; then
     echo "ȥ..."
     route add default gw $LOCAL_GATEWAY metric 1
    fi
  else
    udhcpc -q $ENET_DEVICE
  fi
 fi
 echo "NFSޥ..."
 mount -t nfs $REMOTE_IPADDR:$REMOTE_PATH /var/adm/mount -o nolock,rsize=8192,wsize=8192
 echo "/var/adm/mount" > /tmp/SeTDS
 echo "-source_mounted" > /tmp/SeTmount
 echo "/dev/null" > /tmp/SeTsource
 echo
 echo "ߤΥޥȥơ֥롧"
 mount
 echo -n "NFSޥȤľɬפޤ ([y]es, [n]o)? "
 read TRY_AGAIN;
 if [ "$TRY_AGAIN" = "n" -o "$TRY_AGAIN" = "N" ]; then
  exit
 fi
 if [ "$UPNRUN" = "1" ]; then
  route del $LOCAL_NETWORK
  ifconfig $ENET_DEVICE down 
 fi
done
