1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#!/bin/sh
### BEGIN INIT INFO
# Provides: nvidia-kernel
# Required-Start: mountdevsubfs
# Required-Stop:
# Should-Start: udev
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: create NVIDIA device nodes
### END INIT INFO
PATH=/sbin:/bin
# How many cards?
[ -r /etc/default/nvidia-kernel ] && . /etc/default/nvidia-kernel
# test if anything is requested
if [ -z "$NVIDIA_CARDS" ] || [ "$NVIDIA_CARDS" -lt 1 ]; then
# Nothing to do but exit.
exit 0
fi
make_nodes () {
if ! [ -e /dev/nvidiactl ]; then
mknod -m 0660 /dev/nvidiactl c 195 255
chgrp video /dev/nvidiactl
fi
NVIDIA_CARDS=${NVIDIA_CARDS:-0}
i=0
while [ "$i" -lt "$NVIDIA_CARDS" ]; do
if ! [ -e /dev/nvidia$i ]; then
mknod -m 0660 /dev/nvidia$i c 195 $i
chgrp video /dev/nvidia$i
fi
i=$((i+1))
done
}
case "$1" in
start|restart|reload|force-reload)
make_nodes
;;
stop)
:
;;
*)
echo "Usage: /etc/init.d/nvidia-kernel {start|stop|restart|reload|force-reload}"
exit 1
;;
esac
exit 0
|