#!/bin/bash ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 DEBUGMODE=no . /usr/lib/ublinux/functions . /usr/lib/ublinux/default debug_mode "$0" "$@" WHITELISTMODULES="$(cmdline_value whitelist | tr ',;' ' ')" SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null echo -n > /etc/modprobe.d/blacklist-ublinux-dkms.conf LC_ALL=C lspci -k | grep "Kernel modules: " | grep ", " | sed s/.*"Kernel modules: "// | sed s/", "/"\n"/g > /tmp/kernel_mods_lspci find /var/lib/dkms-binary -type f | grep -Ev "nvidia|virtualbox|vbox" | grep -E .ko$"|".ko.xz | gawk -F/ '{print $NF}' | sed s/[.]ko.*// | sort -u | grep -f /tmp/kernel_mods_lspci | while read a ;do lspci -nn | grep -q -f /usr/share/ublinux/hwdata/dkms/$a 2>/dev/null && continue echo "$WHITELISTMODULES" | grep -q "$a" && continue modprobe -r "$a" 2>/dev/null echo "blacklist $a" >> /etc/modprobe.d/blacklist-ublinux-dkms.conf done rm -f /tmp/kernel_mods_lspci