sbull_load
上传用户:wudi5211
上传日期:2010-01-21
资源大小:607k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

C/C++

  1. #!/bin/sh
  2. module="sbull"
  3. device="sbull"
  4. mode="664"
  5. chardevice="sbullr"
  6. # Group: since distributions do it differently, look for wheel or use staff
  7. if grep '^staff:' /etc/group > /dev/null; then
  8.     group="staff"
  9. else
  10.     group="wheel"
  11. fi
  12. # invoke insmod with all arguments we got
  13. # and use a pathname, as newer modutils don't look in . by default
  14. /sbin/insmod -f ./$module.o $* || exit 1
  15. major=`cat /proc/devices | awk "\$2=="$module" {print \$1}"`
  16. # Remove stale nodes and replace them, then give gid and perms
  17. # Usually the script is shorter, it's scull that has several devices in it.
  18. rm -f /dev/${device}[0-3] /dev/${device}
  19. mknod /dev/${device}0 b $major 0
  20. mknod /dev/${device}1 b $major 1
  21. mknod /dev/${device}2 b $major 2
  22. mknod /dev/${device}3 b $major 3
  23. ln -sf ${device}0 /dev/${device}
  24. chgrp $group /dev/${device}[0-3] 
  25. chmod $mode  /dev/${device}[0-3]
  26. #
  27. # Look and see if the raw device is present as well.  If so set it up.
  28. #
  29. if ! grep " $chardevice$" /proc/devices > /dev/null; then
  30.     exit
  31. fi
  32. charmajor=`cat /proc/devices | awk "\$2=="$chardevice" {print \$1}"`
  33. rm -f /dev/${chardevice}[0-3] /dev/${chardevice}
  34. mknod /dev/${chardevice}0 c $charmajor 0
  35. mknod /dev/${chardevice}1 c $charmajor 1
  36. mknod /dev/${chardevice}2 c $charmajor 2
  37. mknod /dev/${chardevice}3 c $charmajor 3
  38. ln -sf ${chardevice}0 /dev/${chardevice}
  39. chgrp $group /dev/${chardevice}[0-3] 
  40. chmod $mode  /dev/${chardevice}[0-3]