2
1

init-tracer 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/bin/sh
  2. #
  3. # Load tracer module and create tracer device node.
  4. #
  5. MODULE="tracer"
  6. MAIN_DEVICE="tracer"
  7. USER_DEVICE="tracerU"
  8. GROUP="root"
  9. MODE="664"
  10. start() {
  11. if [ -e /dev/${MAIN_DEVICE} -o -e /dev/${USER_DEVICE} ]
  12. then
  13. # tell the user about what we are doing
  14. echo "Deleting old tracer nodes: /dev/tracer and /dev/tracerU"
  15. # remove stale nodes
  16. rm -f /dev/${MAIN_DEVICE}
  17. rm -f /dev/${USER_DEVICE}
  18. fi
  19. # look for the major number
  20. MAJOR=`/bin/grep " ${MODULE}$" /proc/devices | cut -d" " -f1`
  21. # does the device exist?
  22. if [ ${MAJOR} ]
  23. then
  24. echo "Found tracer device with major number:" ${MAJOR}
  25. else
  26. echo "Loading tracer kernel module: "
  27. # invoke modprobe
  28. /sbin/modprobe ${MODULE}
  29. MAJOR=`/bin/grep " ${MODULE}$" /proc/devices | cut -d" " -f1`
  30. if [ ${MAJOR} ]
  31. then
  32. echo "Found tracer device with major number:" ${MAJOR}
  33. else
  34. echo "Did not find tracer device ... /dev entries not created ..."
  35. exit 1
  36. fi
  37. fi
  38. # tell the user about what we are doing
  39. echo "Creating new tracer nodes: /dev/tracer and /dev/tracerU"
  40. # create the character special file
  41. /bin/mknod /dev/${MAIN_DEVICE} c ${MAJOR} 0
  42. /bin/mknod /dev/${USER_DEVICE} c ${MAJOR} 1
  43. # set permissions and ownership
  44. /bin/chgrp ${GROUP} /dev/${MAIN_DEVICE}
  45. /bin/chmod ${MODE} /dev/${MAIN_DEVICE}
  46. /bin/chgrp ${GROUP} /dev/${USER_DEVICE}
  47. /bin/chmod ${MODE} /dev/${USER_DEVICE}
  48. }
  49. stop() {
  50. # tell the user about what we are doing
  51. echo "Deleting tracer nodes: /dev/tracer and /dev/tracerU"
  52. # remove nodes
  53. rm -f /dev/${MAIN_DEVICE}
  54. rm -f /dev/${USER_DEVICE}
  55. if lsmod | /bin/grep "^${MODULE} "
  56. then
  57. echo -n "Removing tracer kernel module: "
  58. # invoke modprobe -r
  59. /sbin/modprobe -r ${MODULE}
  60. echo "OK"
  61. fi
  62. }
  63. restart() {
  64. stop
  65. start
  66. }
  67. case "$1" in
  68. start)
  69. start
  70. ;;
  71. stop)
  72. stop
  73. ;;
  74. restart|reload)
  75. restart
  76. ;;
  77. *)
  78. echo $"Usage: $0 {start|stop|restart}"
  79. exit 1
  80. esac
  81. exit $?