Return to rc.lkm CVS log | Up to [cvs.NetBSD.org] / src / etc |
File: [cvs.NetBSD.org] / src / etc / Attic / rc.lkm (download)
Revision 1.5, Fri May 26 17:46:16 2000 UTC (23 years, 10 months ago) by tron
Enhance "rc.lkm" so that it works properly with "/etc/rc.d/lkm[123]". |
# $NetBSD: rc.lkm,v 1.5 2000/05/26 17:46:16 tron Exp $ # # this script loads or unloads LKMs (loadable kernel modules). if [ -s /etc/lkm.conf ]; then case "$1" in start) (while read path options entry postinstall output when; do cmd='modload ' case $path in \#*|"") continue ;; /*) ;; *) if [ -f "/lkm/$path" ]; then path="/lkm/$path" elif [ -f "/usr/lkm/$path" ]; then path="/usr/lkm/$path" else echo "couldn't find module $path" fi ;; esac case $options in -) ;; *) cmd="$cmd $options" ;; esac case $entry in -) ;; *) cmd="$cmd -e $entry" ;; esac case $postinstall in -) ;; *) cmd="$cmd -p $postinstall" ;; esac case $output in -) ;; *) if [ "$output" = TEMP ]; then cmd="$cmd -o /tmp/lkm.$$" else cmd="$cmd -o $output" fi ;; esac case $when in -) when=BEFORENET ;; [A-Z]*) ;; *) echo "invalid \"when\" field in /etc/lkm.conf - $path not loaded!" continue ;; esac if [ $when != $lkmstage ]; then continue fi echo -n "`basename $path .o`: " $cmd $path rm -f /tmp/lkm.$$ done) < /etc/lkm.conf ;; stop) (while read path options entry postinstall output when; do case $path in \#*|"") continue ;; /*) name=${path##*/} name=${name%.o} ;; *) name=${path%.o} ;; esac if [ $when = $lkmstage ]; then modunload -n ${name} fi done) < /etc/lkm.conf ;; esac fi