summaryrefslogtreecommitdiffstats
path: root/abs/core/klibc-udev/load-modules.sh
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/klibc-udev/load-modules.sh')
-rwxr-xr-xabs/core/klibc-udev/load-modules.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/abs/core/klibc-udev/load-modules.sh b/abs/core/klibc-udev/load-modules.sh
new file mode 100755
index 0000000..f0961a7
--- /dev/null
+++ b/abs/core/klibc-udev/load-modules.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Implement blacklisting for udev-loaded modules
+# Includes module checking
+# - Aaron Griffin & Tobias Powalowski for Archlinux
+[ $# -ne 1 ] && exit 1
+
+if [ -f /proc/cmdline ]; then
+ for cmd in $(cat /proc/cmdline); do
+ case $cmd in
+ *=*) eval $cmd ;;
+ esac
+ done
+fi
+
+# get the real names from modaliases
+i="$(/bin/moddeps $1)"
+# add disablemodules= from commandline to blacklist
+k="$(/bin/replace "${disablemodules}" ',')"
+j="$(/bin/replace "${k}" '-' '_')"
+
+if [ "${j}" != "" ] ; then
+ for n in ${i}; do
+ for o in ${j}; do
+ if [ "$n" = "$o" ]; then
+ exit 1
+ fi
+ done
+ done
+fi
+/sbin/modprobe $1
+
+# vim: set et ts=4: