summaryrefslogtreecommitdiffstats
path: root/scull/scull_load
diff options
context:
space:
mode:
Diffstat (limited to 'scull/scull_load')
-rw-r--r--scull/scull_load66
1 files changed, 66 insertions, 0 deletions
diff --git a/scull/scull_load b/scull/scull_load
new file mode 100644
index 0000000..0da1378
--- /dev/null
+++ b/scull/scull_load
@@ -0,0 +1,66 @@
+#!/bin/sh
+# $Id: scull_load,v 1.4 2004/11/03 06:19:49 rubini Exp $
+module="scull"
+device="scull"
+mode="664"
+
+# Group: since distributions do it differently, look for wheel or use staff
+if grep -q '^staff:' /etc/group; then
+ group="staff"
+else
+ group="wheel"
+fi
+
+# invoke insmod with all arguments we got
+# and use a pathname, as insmod doesn't look in . by default
+/sbin/insmod ./$module.ko $* || exit 1
+
+# retrieve major number
+major=$(awk "\$2==\"$module\" {print \$1}" /proc/devices)
+
+# Remove stale nodes and replace them, then give gid and perms
+# Usually the script is shorter, it's scull that has several devices in it.
+
+rm -f /dev/${device}[0-3]
+mknod /dev/${device}0 c $major 0
+mknod /dev/${device}1 c $major 1
+mknod /dev/${device}2 c $major 2
+mknod /dev/${device}3 c $major 3
+ln -sf ${device}0 /dev/${device}
+chgrp $group /dev/${device}[0-3]
+chmod $mode /dev/${device}[0-3]
+
+rm -f /dev/${device}pipe[0-3]
+mknod /dev/${device}pipe0 c $major 4
+mknod /dev/${device}pipe1 c $major 5
+mknod /dev/${device}pipe2 c $major 6
+mknod /dev/${device}pipe3 c $major 7
+ln -sf ${device}pipe0 /dev/${device}pipe
+chgrp $group /dev/${device}pipe[0-3]
+chmod $mode /dev/${device}pipe[0-3]
+
+rm -f /dev/${device}single
+mknod /dev/${device}single c $major 8
+chgrp $group /dev/${device}single
+chmod $mode /dev/${device}single
+
+rm -f /dev/${device}uid
+mknod /dev/${device}uid c $major 9
+chgrp $group /dev/${device}uid
+chmod $mode /dev/${device}uid
+
+rm -f /dev/${device}wuid
+mknod /dev/${device}wuid c $major 10
+chgrp $group /dev/${device}wuid
+chmod $mode /dev/${device}wuid
+
+rm -f /dev/${device}priv
+mknod /dev/${device}priv c $major 11
+chgrp $group /dev/${device}priv
+chmod $mode /dev/${device}priv
+
+
+
+
+
+