summaryrefslogtreecommitdiffstats
path: root/hello_load.sh
blob: fc54ab68ff5400ddd51320869250febb43aab137 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash

MODULE=hello
DEVICE=helloc
MODE=664

# invoke insmod with all arguments and use a pathname
# as newer modutils don't look into . by default
/usr/bin/insmod ./${MODULE}.ko $* || exit 1

# remove stale nodes
rm -f /dev/${DEVICE}[0]

MAJOR=$(awk "\$2 == \"$DEVICE\" {print \$1}" /proc/devices)

mknod /dev/${DEVICE}0 c $MAJOR 0

# give appriopriate permissions
GROUP=staff
grep -q '^staff' /etc/group || GROUP=wheel

chgrp $GROUP /dev/${DEVICE}0
chmod $MODE  /dev/${DEVICE}0