#!/bin/sh # # dkms_autoinstaller - A service to automatically install DKMS modules for new kernels. # # chkconfig: 345 04 04 # description: Compiles and install kernel modules automatically for new \ # kernels at boot. ### BEGIN INIT INFO # Provides: dkms_autoinstaller dkms # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Required-Start: $local_fs # Required-Stop: $local_fs # Short-Description: DKMS kernel modules installer service # Description: A service to automatically install DKMS modules for new kernels. ### END INIT INFO if [ -f /lib/lsb/init-functions ]; then . /lib/lsb/init-functions elif [ -f /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functions fi # We only have these functions on debian/ubuntu # so on other distros just stub them out if [ ! -f /etc/debian_version ]; then alias log_daemon_msg=/bin/echo log_end_msg() { if [ "$1" = "0" ]; then echo " Done. "; else echo " Failed. "; fi; } alias log_action_begin_msg=log_daemon_msg alias log_action_end_msg=log_end_msg fi exec="/usr/sbin/dkms" prog=${exec##*/} test -f $exec || exit 0 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog case "$1" in start) if [ -n "$2" ]; then kernel="$2" else kernel=$(uname -r) fi if [ -f /etc/dkms/no-autoinstall ]; then log_daemon_msg "$prog: autoinstall for dkms modules has been disabled" else log_daemon_msg "$prog: running auto installation service for kernel $kernel" dkms autoinstall --kernelver $kernel log_end_msg $? fi ;; stop|restart|force-reload|status|reload) # There is no stop action, this and the 04 priority during stop is # added to make RHEL chkconfig happy. # Ignore others on debian/ubuntu too ;; *) echo $"Usage: $0 {start}" exit 2 esac