| #!/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 $? |