diff options
Diffstat (limited to 'packages/modutils/files/modutils.sh')
-rwxr-xr-x | packages/modutils/files/modutils.sh | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/packages/modutils/files/modutils.sh b/packages/modutils/files/modutils.sh index 89281276fd..9514b1dd4f 100755 --- a/packages/modutils/files/modutils.sh +++ b/packages/modutils/files/modutils.sh @@ -1,27 +1,26 @@ #!/bin/sh LOAD_MODULE=modprobe -[ -f /proc/modules ] || exit 0 -[ -f /etc/modules ] || exit 0 [ -e /sbin/modprobe ] || LOAD_MODULE=insmod -if [ ! -e /sbin/depmod ]; then - [ -f /lib/modules/`uname -r`/modules.dep ] || LOAD_MODULE=insmod -else +if [ -e /sbin/depmod -a ! -f /lib/modules/`uname -r`/modules.dep ]; then [ "$VERBOSE" != no ] && echo "Calculating module dependencies ..." depmod -Ae fi -[ "$VERBOSE" != no ] && echo -n "Loading modules: " -(cat /etc/modules; echo; ) | -while read module args -do - case "$module" in - \#*|"") continue ;; - esac - [ "$VERBOSE" != no ] && echo -n "$module " - eval "$LOAD_MODULE $module $args >/dev/null 2>&1" -done -[ "$VERBOSE" != no ] && echo +if [ -f /proc/modules ]; then + if [ -f /etc/modules ]; then + [ "$VERBOSE" != no ] && echo -n "Loading modules: " + while read module args + do + case "$module" in + \#*|"") continue ;; + esac + [ "$VERBOSE" != no ] && echo -n "$module " + eval "$LOAD_MODULE $module $args >/dev/null 2>&1" + done < /etc/modules + [ "$VERBOSE" != no ] && echo + fi +fi -exit 0 +: exit 0 |