home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 4 Drivers / 04-Drivers.zip / viabus.zip / 580_238.EXE / arj / UNIX / VIAIDE.TAR / usr / bin / attachhd
Text File  |  1997-08-26  |  3KB  |  156 lines

  1. #
  2. #    VIA attaches Secondary Channel's hard disks shell script.
  3. #    By : HP Chen    
  4. #    Date : '97/08/19 
  5. #
  6. OSVER=`swconfig|awk -e '/SCO UNIX System V Operating Sys/ {print $7}'`
  7. BCHECKRC=/etc/bcheckrc
  8. BNODE0=/dev/mio0
  9. CNODE0=/dev/rmio0
  10. BNODE1=/dev/mio1
  11. CNODE1=/dev/rmio1
  12. HDPATH0=/viahd0
  13. HDPATH1=/viahd1
  14.  
  15. #Update profile to automount hard disk each time reboot  
  16. update_bcheckrc_0()
  17. {
  18. grep $HDPATH0 $BCHECKRC > /dev/null 2>&1
  19. if [ $? -eq 0 ]; then 
  20. ed $BCHECKRC > /dev/null 2>&1 <<EOF
  21. /viahd0
  22. .
  23. d
  24. .
  25. w
  26. EOF
  27. fi
  28. ed $BCHECKRC > /dev/null 2>&1 <<EOF
  29. /setmnt
  30. a
  31. /etc/mount $BNODE0 $HDPATH0
  32. .
  33. w
  34. EOF
  35.  
  36. }
  37.  
  38. update_bcheckrc_1()
  39. {
  40. grep $HDPATH1 $BCHECKRC > /dev/null 2>&1
  41. if [ $? -eq 0 ]; then 
  42. ed $BCHECKRC > /dev/null 2>&1 <<EOF
  43. /viahd1
  44. .
  45. d
  46. .
  47. w
  48. EOF
  49. fi
  50. ed $BCHECKRC > /dev/null 2>&1 <<EOF
  51. /setmnt
  52. a
  53. /etc/mount $BNODE1 $HDPATH1
  54. .
  55. w
  56. EOF
  57. }
  58.  
  59. #main
  60. while true
  61. do
  62. clear
  63. echo "+--------------------------------------------------------+"
  64. echo "| Attach Secondary Channel Hard Disk to Operating System |"
  65. echo "+--------------------------------------------------------+"
  66. echo ""
  67.  
  68. # Prompt message and get user selection
  69.     while true
  70.     do
  71.          echo "         1: Attach Drive 0 "
  72.          echo "         2: Attach Drive 1 "
  73.      echo "         3: Unattach Drive 0 "
  74.      echo "         4: Unattach Drive 1 "
  75.          echo "         q: Quit"
  76.          echo "         Select:\c"
  77.         read Sel
  78.         case $Sel in
  79.                [1234]) break;;
  80.          [qQ]) exit;;
  81.          *) echo " Illegal selection! Press <Enter> to continue!"
  82.              read AnyKey;;
  83.         esac    
  84.     done
  85.     
  86. # Process the user selection
  87.     case $Sel in
  88.          1) cd /etc/conf/cf.d
  89.         MAJOR=`./configure -j vth1`
  90.         if [ "$OSVER" = "5.0.0Cl" ]; then
  91.            mknod $BNODE0 b $MAJOR 42
  92.            mknod $CNODE0 c $MAJOR 42
  93.         else
  94.            mknod $BNODE0 b $MAJOR 40
  95.            mknod $CNODE0 c $MAJOR 40
  96.         fi        
  97.         mkdir $HDPATH0 > /dev/null 2>&1
  98.         mount $BNODE0 $HDPATH0 > /dev/null 2>&1
  99.         if [ $? -eq 0 ]; then
  100.            update_bcheckrc_0
  101.            echo "The drive 0 on Secondary Channel is mounted to "$HDPATH0
  102.         else
  103.            echo "Can not mount the drive!"
  104.            rm $BNODE0 $CNODE0 
  105.            rmdir $HDPATH0
  106.                 fi;;
  107.           2) cd /etc/conf/cf.d
  108.              MAJOR=`./configure -j vth1`
  109.          if [ "$OSVER" = "5.0.0Cl" ]; then
  110.             mknod $BNODE1 b $MAJOR 106
  111.             mknod $CNODE1 c $MAJOR 106
  112.          else
  113.              mknod $BNODE1 b $MAJOR 104    
  114.              mknod $CNODE1 c $MAJOR 104        
  115.          fi
  116.          mkdir $HDPATH1
  117.          mount $BNODE1 $HDPATH1
  118.          if [ $? -eq 0 ]; then
  119.             update_bcheckrc_1
  120.                 echo "The drive 1 on Secondary Channel is mounted to "$HDPATH1        
  121.          else
  122.             echo "Can not mount the driver!" 
  123.             rm $BNODE1 $CNODE1
  124.             rmdir $HDPATH1
  125.          fi;;
  126.           3) umount $HDPATH0
  127.          if [ $? -eq 0 ]; then
  128.             rmdir $HDPATH0
  129.             rm $BNODE0 $CNODE0
  130. ed $BCHECKRC >> /dev/null 2>&1 <<EOF
  131. /viahd0
  132. .
  133. d
  134. .
  135. w
  136. EOF
  137.         echo "Unattach drive 0 successfully"
  138.         fi;;
  139.           4) umount $HDPATH1
  140.          if [ $? -eq 0 ]; then
  141.             rmdir $HDPATH1
  142.             rm $BNODE1 $CNODE1
  143. ed $BCHECKRC >> /dev/null 2>&1 <<EOF
  144. /viahd1
  145. .
  146. d
  147. .
  148. w
  149. EOF
  150.         echo "Unattach drive 1 successfully"
  151.         fi;;
  152.     esac   
  153. echo "Press <Enter> to continue!"
  154. read X
  155. done
  156.