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