MKNOD.hpux-800
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:2k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. #!/bin/sh
  2. ################################################################
  3. # mk node boot script for HP9000 800 series following man scsi_pt
  4. #
  5. # This script is provided WITHOUT ANY WARRANTY.
  6. ################################################################
  7. PATH=/sbin:/usr/sbin:/usr/bin:.
  8. export PATH
  9. case $1 in
  10. start_msg)
  11.         echo "Creating SCSI passthru (spt) driver nodes"
  12.         ;;
  13. stop_msg)
  14.         echo "Removing SCSI passthru (spt) driver nodes"
  15.         ;;
  16. start)
  17.     hpser=`uname -m | awk -F / '{print substr($2, 1, 1);}'`
  18.     if [ $hpser -ne "8" ]; then
  19.       echo "spt driver only needed on HP 9000/800 series."
  20.       exit 0
  21.     fi
  22.     #mknod="echo mknod"
  23.     #mkdir="echo mkdir -p"
  24.     #chmod="echo chmod"
  25.     
  26.     mknod="/usr/sbin/mknod"
  27.     mkdir="mkdir -p"
  28.     chmod="chmod"
  29.     
  30.     sptlist="/tmp/spt.$$"
  31.     echo "Searching SCSI passthru drivers (spt) ..."
  32.     ioscan -kf -d spt | sed '1,2d' | awk '{print $3;}' > $sptlist
  33.     nctl=`wc -l < $sptlist`
  34.     echo "... found $nctl"
  35.     if [ ! -s $sptlist ]; then
  36.       rm -f $sptlist
  37.       exit 0
  38.     fi
  39.     scsi=/dev/scsi
  40.     ${mkdir} ${scsi}
  41.     
  42.     rscsi=/dev/rscsi
  43.     ${mkdir} ${rscsi}
  44.     
  45.     cmajor=`lsdev -h -d spt | awk '{print $1;}'`
  46.     
  47.     for line in `cat $sptlist`
  48.     do
  49.       ctl=`echo $line | awk -F . '{print $1;}'`
  50.       bus=`ioscan -f -k -H $ctl -C ext_bus | sed '1,2d' | awk '{print $2;}'`
  51.       tgt=`echo $line | awk -F . '{print $2;}'`
  52.       hextgt=`printf "%x" $tgt`
  53.       # make first scsi nodes
  54.       name="${scsi}/c${bus}t${tgt}l0"
  55.       echo "Creating $name"
  56.       ${mknod} $name c $cmajor 0x${bus}${hextgt}000 > /dev/null 2>&1
  57.       ${chmod} 0600 $name > /dev/null 2>&1
  58.       # then rscsi nodes
  59.       rname="${rscsi}/c${bus}t${tgt}l0"
  60.       echo "Creating $rname"
  61.       ${mknod} $rname c $cmajor 0x${bus}${hextgt}020 > /dev/null 2>&1
  62.       ${chmod} 0600 $rname > /dev/null 2>&1
  63.     done
  64.     rm -f $sptlist
  65.     exit 0
  66.     
  67.         ;;
  68. stop)
  69.         ;;
  70. *)
  71.         echo usage: $0 "{start|stop}"
  72.         ;;
  73. esac
  74. exit 0