Viitor_sysvinit/etc/init.d/loadmodules

105 lines
2.7 KiB
Plaintext
Raw Permalink Normal View History

#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.compuextreme.de:/Data/cvs zur Verf<72>gung gestellt
#
#Lage dieser Datei im Archiv: $Source$
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version
#2 of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#See the GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not write to the Free Software Foundation,
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#InitScript zum Start des Daemons:
# Dieses Script l<>d beim Systemstart manuell zu konfigurierende
# Kernel Module. Diese Module werden als Parameter des modprobe
# kommandos in die Datei /etc/sysconfig/loadmods eingetragen.
#
#Letzte <20>nderung von: $Author$
#Datum der letzten <20>nderung: $Date$
#Version der Datei: $Revision$
#
#$Log$
#Revision 1.4 2004/03/03 12:48:08 kueller
#Header auf neuen Viitor GPL Header umgestellt
#
#
# Revision 1.1.1.1 2001/09/23 00:02:08 kueller
# Neustart wg. Datenverlust
#
# Revision 1.1.1.1 2001/08/08 10:02:32 kueller
# sysvinit addons
#
#
source /etc/init.d/functions
case "$1" in
start)
if [ -f /etc/sysconfig/loadmods ]; then
sed -e "/^#/d" /etc/sysconfig/loadmods |
sed -e "/^ *$/d" >/tmp/loadmods
exec 3</tmp/loadmods
read <&3 MODULE OPTIONS
while [ $MODULE ]; do
echo -n "Loading Module $MODULE with options: $OPTIONS"
if grep -q $MODULE /proc/modules; then
echo -n "Module $MODULE already loaded - removing it"
rmmod $MODULE
evaluate_retval
fi
modprobe -s $MODULE $OPTIONS
evaluate_retval
read <&3 MODULE OPTIONS
done
exec 3>&-
rm /tmp/loadmods
fi
;;
stop)
if [ -f /etc/sysconfig/loadmods ]; then
Z=0
while [ "$Z" "<" "9" ]; do
exec 3</proc/modules
read <&3 MODNAME INFO
while [ $MODNAME ]; do
echo -n "Try to unload $MODNAME"
rmmod -s $MODNAME 2>/dev/null
if [ "$?" == "0" ]; then
print_status success
else
if [ "$Z" == "8" ]; then
print_status failure
else
echo "failed"
fi
fi
read <&3 MODNAME INFO
done
(( Z = $Z + 1 ))
exec 3>&-
done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0: {start|stop|restart}"
exit 1
;;
esac
#end /etc/inet.d/network