RT-WiFi/scripts/blacklist.sh
2017-08-31 12:00:57 +02:00

36 lines
853 B
Bash
Executable File

#!/bin/bash
BLACKLIST_CONF="/etc/modprobe.d/backports.conf"
BLACKLIST_MAP=".blacklist.map"
MODULE_DIR=$1
MODULE_UPDATES=$2
if [[ ! -d $MODULE_DIR ]]; then
exit
fi
if [[ ! -d $MODULE_UPDATES ]]; then
exit
fi
mkdir -p $(dirname $BLACKLIST_CONF)
rm -f $BLACKLIST_CONF
echo "# To be used when using backported drivers" > $BLACKLIST_CONF
for i in $(grep -v ^# $BLACKLIST_MAP | awk '{print $2}'); do
MODULE="${i}.ko"
MODULE_UPDATE="$(grep -v ^# $BLACKLIST_MAP | grep $i | awk '{print $1}' | head -1).ko"
COUNT=$(find $MODULE_DIR -type f -name ${MODULE} -or -name ${MODULE}.gz | wc -l)
COUNT_REPLACE=$(find $MODULE_UPDATES -type f -name ${MODULE_UPDATE} -or -name ${MODULE_UPDATE}.gz | wc -l)
if [ $COUNT -ne 0 ]; then
if [ $COUNT_REPLACE -ne 0 ]; then
echo "Blacklisting $MODULE ..."
echo blacklist $i >> $BLACKLIST_CONF
fi
fi
done