You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ublinux-init/ublinux/rc.post.d/60-blacklistdkms

35 lines
1.6 KiB

#!/usr/bin/bash
#
# Author: Dmitry Razumov <asmeron@ublinux.com>
# Copyright (c) 2021-2025 UBLinux <support@ublinux.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
ENABLED=no
[[ ${ENABLED} == "yes" ]] || { return 0 2>/dev/null && return 0 || exit 0; }
DEBUGMODE=no
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
#WHITE_LIST_MODULES="$(cmdline_value whitelist)"; WHITE_LIST_MODULES=${WHITE_LIST_MODULES//,/ }; WHITE_LIST_MODULES=${WHITE_LIST_MODULES//;/ }
#SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
#true > /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 SELECT_MODULE; do
# lspci -nn | grep -q -f /usr/share/ublinux/hwdata/dkms/${SELECT_MODULE} 2>/dev/null && continue
# echo "${WHITE_LIST_MODULES}" | grep -q "${SELECT_MODULE}" && continue
# modprobe -r "${SELECT_MODULE}" 2>/dev/null
# echo "blacklist ${SELECT_MODULE}" >> /etc/modprobe.d/blacklist-ublinux-dkms.conf
#done
#
#rm -f /tmp/kernel_mods_lspci