| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | #!/bin/sh# Begin $RC_BASE/init.d/modules### BEGIN INIT INFO# Provides:            modules# Required-Start:      mountvirtfs sysctl# Should-Start:# Required-Stop:# Should-Stop:# Default-Start:       S# Default-Stop:# Short-Description:   Loads required modules.# Description:         Loads modules listed in /etc/default/modules.# X-LFS-Provided-By:   LFS### END INIT INFO. /lib/lsb/init-functions# Assure that the kernel has module support.[ -e /proc/ksyms -o -e /proc/modules ] || exit 0case "${1}" in    start)        # Exit if there's no modules file or there are no        # valid entries        [ -r /etc/default/modules ] &&            egrep -qv '^($|#)' /etc/default/modules ||            exit 0        # If proc is mounted, find the current kernel        # message level         if [ -f /proc/sys/kernel/printk ]; then            prev_msg=`cat /proc/sys/kernel/printk | \                sed 'l 1' | sed -n '2~0p' | \                sed 's/\\\//'`        else             prev_msg="6"        fi        # Now set the message level to 1 so not to make too         # much noise when loading modules        dmesg -n 1        # Only try to load modules if the user has actually given us        # some modules to load.        if egrep -qv '^(#|$)' /etc/default/modules 2>/dev/null        then            # Read in the configuration file.            exec 9>&0 < /etc/default/modules                message="${INFO}Loading modules:"                while read module args                do                    # Ignore comments and blank lines.                    case "${module}" in                        ""|\#*) continue ;;                    esac                    # Attempt to load the module, making                    # sure to pass any arguments provided.                    modprobe ${module} ${args} > /dev/null                    # Print the module name if successful,                    # otherwise take note.                    if [ ${?} -eq 0 ]; then                        message="${message}${NORMAL} ${module}"                    else                        failedmod="${failedmod} ${module}"                    fi                done                # Print a message about successfully loaded                # modules on the correct line.                log_success_msg "${message}"                # Print a failure message with a list of any                # modules that may have failed to load.                if [ "${failedmod}" ]; then                    log_failure_msg "${FAILURE}Failed to load modules:${failedmod}"                fi            exec 0>&9 9>&-        fi        # Set the kernel message level back to it's previous value.        dmesg -n "${prev_msg}"        ;;    *)        echo "Usage: ${0} {start}"        exit 1        ;;esac# End $RC_BASE/init.d/modules
 |