blob: ab9b93dae353091ab05b0c265be3afa848978b3d [file] [log] [blame] [edit]
#!/bin/sh
MODULES_DIR="/etc/modules-load.d/"
[ -z "$(ls -A ${MODULES_DIR} 2> /dev/null)" ] && exit 0
load_unload() {
for module_file in "${MODULES_DIR}"/*.conf; do
while read -r module args; do
case "$module" in
""|"#"*) continue ;;
esac
if [ "$1" = "load" ]; then
# shellcheck disable=SC2086 # We need word splitting for args
modprobe -q "${module}" ${args} >/dev/null && \
printf '%s ' "$module" || RET='FAIL'
else
rmmod "${module}" >/dev/null
fi
done < "${module_file}"
done
RET='OK'
}
start() {
printf 'Starting modules: '
load_unload load
echo $RET
}
stop() {
printf 'Stopping modules: '
load_unload unload
echo $RET
}
restart() {
stop
sleep 1
start
}
case "$1" in
start|stop|restart)
"$1";;
reload)
# Restart, since there is no true "reload" feature.
restart;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
# check-package Ignore missing DAEMON Variables