#!/bin/sh # # Load tracer module and create tracer device node. # MODULE="tracer" MAIN_DEVICE="tracer" USER_DEVICE="tracerU" GROUP="root" MODE="664" start() { if [ -e /dev/${MAIN_DEVICE} -o -e /dev/${USER_DEVICE} ] then # tell the user about what we are doing echo "Deleting old tracer nodes: /dev/tracer and /dev/tracerU" # remove stale nodes rm -f /dev/${MAIN_DEVICE} rm -f /dev/${USER_DEVICE} fi # look for the major number MAJOR=`/bin/grep " ${MODULE}$" /proc/devices | cut -d" " -f1` # does the device exist? if [ ${MAJOR} ] then echo "Found tracer device with major number:" ${MAJOR} else echo "Loading tracer kernel module: " # invoke modprobe /sbin/modprobe ${MODULE} MAJOR=`/bin/grep " ${MODULE}$" /proc/devices | cut -d" " -f1` if [ ${MAJOR} ] then echo "Found tracer device with major number:" ${MAJOR} else echo "Did not find tracer device ... /dev entries not created ..." exit 1 fi fi # tell the user about what we are doing echo "Creating new tracer nodes: /dev/tracer and /dev/tracerU" # create the character special file /bin/mknod /dev/${MAIN_DEVICE} c ${MAJOR} 0 /bin/mknod /dev/${USER_DEVICE} c ${MAJOR} 1 # set permissions and ownership /bin/chgrp ${GROUP} /dev/${MAIN_DEVICE} /bin/chmod ${MODE} /dev/${MAIN_DEVICE} /bin/chgrp ${GROUP} /dev/${USER_DEVICE} /bin/chmod ${MODE} /dev/${USER_DEVICE} } stop() { # tell the user about what we are doing echo "Deleting tracer nodes: /dev/tracer and /dev/tracerU" # remove nodes rm -f /dev/${MAIN_DEVICE} rm -f /dev/${USER_DEVICE} if lsmod | /bin/grep "^${MODULE} " then echo -n "Removing tracer kernel module: " # invoke modprobe -r /sbin/modprobe -r ${MODULE} echo "OK" fi } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart|reload) restart ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit $?