#! /bin/sh
### BEGIN INIT INFO
# Provides:        
# Required-Start:  
# Required-Stop:
# Default-Start:   3 4 5
# Default-Stop:
# Description:     
### END INIT INFO

 
# Source function library.
. /etc/rc.config
 
# Determine the base and follow a runlevel link name.
base=${0##*/}
link=${base#*[SK][0-9][0-9]}
 
# Force execution if not called by a runlevel directory.
test $link = $base && START_HPMEGADEV="yes"
test "$START_HPMEGADEV" = yes || exit 0
 
#
#
return=$rc_done
case "$1" in
  start)
	#if kernel 2.4.x
	if [ "$(uname -r | grep -E "^2.2")" = "" ]; then
	    if [ -d /proc/scsi/megaraid ]; then
	        major=$( cat /proc/devices |grep megadev | cut -f1 -d " " )
	        if [ ! $major = " " ]; then
		    #if megadev0 exists
	            if [ -c /dev/megadev0 ]; then
		    	lsdev=`ls -l /dev/megadev0 | cut -d',' -f1`
		    	let size=${#lsdev}+1
			let size1=$size-3
    		        run_major=`echo "$lsdev" | cut -b$size1-$size`
			#if major diff running_major then actualize
			if [ $major -ne $run_major  ]; then
			    rm -f /dev/megadev0		
			    mknod /dev/megadev0 c $major 0
			fi
		    else
			mknod /dev/megadev0 c $major 0
    		    fi
	        fi
	    fi
	fi
        ;;
  *)
        echo "Usage: /etc/init.d/hpmegadev start"
        exit 1
esac
 
test "$return" = "$rc_done" || exit 1
exit 0   
