modules 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/sh
  2. ########################################################################
  3. # Begin modules
  4. #
  5. # Description : Module auto-loading script
  6. #
  7. # Authors : Zack Winkles
  8. # Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
  9. #
  10. # Version : LFS 7.0
  11. #
  12. ########################################################################
  13. ### BEGIN INIT INFO
  14. # Provides: modules
  15. # Required-Start: mountvirtfs sysctl
  16. # Should-Start:
  17. # Required-Stop:
  18. # Should-Stop:
  19. # Default-Start: S
  20. # Default-Stop:
  21. # Short-Description: Loads required modules.
  22. # Description: Loads modules listed in /etc/sysconfig/modules.
  23. # X-LFS-Provided-By: LFS
  24. ### END INIT INFO
  25. . /lib/boot/functions
  26. # Assure that the kernel has module support.
  27. [ -e /proc/ksyms -o -e /proc/modules ] || exit 0
  28. case "${1}" in
  29. start)
  30. # Exit if there's no modules file or there are no
  31. # valid entries
  32. [ -r /etc/sysconfig/modules ] &&
  33. egrep -qv '^($|#)' /etc/sysconfig/modules ||
  34. exit 0
  35. boot_mesg -n "Loading modules:" ${INFO}
  36. # Only try to load modules if the user has actually given us
  37. # some modules to load.
  38. while read module args; do
  39. # Ignore comments and blank lines.
  40. case "$module" in
  41. ""|"#"*) continue ;;
  42. esac
  43. # Attempt to load the module, making
  44. # sure to pass any arguments provided.
  45. modprobe ${module} ${args} >/dev/null
  46. # Print the module name if successful,
  47. # otherwise take note.
  48. if [ $? -eq 0 ]; then
  49. boot_mesg -n " ${module}" ${NORMAL}
  50. else
  51. failedmod="${failedmod} ${module}"
  52. fi
  53. done < /etc/sysconfig/modules
  54. boot_mesg "" ${NORMAL}
  55. # Print a message about successfully loaded
  56. # modules on the correct line.
  57. echo_ok
  58. # Print a failure message with a list of any
  59. # modules that may have failed to load.
  60. if [ -n "${failedmod}" ]; then
  61. boot_mesg "Failed to load modules:${failedmod}" ${FAILURE}
  62. echo_failure
  63. fi
  64. ;;
  65. *)
  66. echo "Usage: ${0} {start}"
  67. exit 1
  68. ;;
  69. esac
  70. # End modules