]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - config/mkinitcpio/load-modules.sh
Die IDE/SCSI/SATA/USB-Erkennung erstellt nun schoene Ramdisks :D
[people/pmueller/ipfire-2.x.git] / config / mkinitcpio / load-modules.sh
diff --git a/config/mkinitcpio/load-modules.sh b/config/mkinitcpio/load-modules.sh
new file mode 100644 (file)
index 0000000..33f8b6b
--- /dev/null
@@ -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/modprobe -i --show-depends $1 | minised "s#^insmod /lib.*/\(.*\)\.ko.*#\1#g" | minised 's|-|_|g')"
+# add disablemodules= from commandline to blacklist
+k="$(echo ${disablemodules} | minised 's|-|_|g' | minised 's|,| |g')"
+
+if [ "${k}" != "" ] ; then
+       for o in ${k}; do
+               echo "${o}.ko" >> /disablemodules
+       done
+        for n in ${i}; do
+               if /bin/ugrep "^$n.ko" /disablemodules 2>&1 >/dev/null; then
+                       exit 1
+               fi
+       done
+fi
+/bin/modprobe $1
+
+# vim: set et ts=4: