driver_load.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/sh
  2. #dmesg -C
  3. module="vc8000"
  4. device="/dev/vc8000"
  5. mode="666"
  6. #Used to setup default parameters
  7. DefaultParameter(){
  8. vcmd=1
  9. #default value can be added to here
  10. }
  11. echo
  12. if [ ! -e /dev ]
  13. then
  14. mkdir /dev/
  15. fi
  16. echo "Help information:"
  17. echo "Input format should be like as below"
  18. echo "./driver_load.sh vcmd=0(default) or (1)"
  19. if [ $# -eq 0 ]
  20. then
  21. DefaultParameter
  22. echo " Default vcmd_supported value = $vcmd"
  23. else
  24. para_1="$1"
  25. vcmd_input=${para_1##*=}
  26. vcmd=$vcmd_input
  27. if [ $vcmd -ne 0 ] && [ $vcmd -ne 1 ]
  28. then
  29. echo "Invalid vcmd_supported value, which = $vcmd"
  30. echo "vcmd_supported should be 0 or 1"
  31. fi
  32. echo "vcmd_supported = $vcmd"
  33. fi
  34. #vcmd_supported = 0(default) or 1
  35. #insert module
  36. insmod $module.ko vcmd_supported=$vcmd || exit 1
  37. #insmod $module.ko vcmd_supported=1 || exit 1
  38. echo "module $module inserted"
  39. #remove old nod
  40. rm -f $device
  41. #read the major asigned at loading time
  42. major=`cat /proc/devices | grep $module | cut -c1-3`
  43. echo "$module major = $major"
  44. #create dev node
  45. mknod $device c $major 0
  46. echo "node $device created"
  47. #give all 'rw' access
  48. chmod $mode $device
  49. echo "set node access to $mode"
  50. #the end
  51. echo