Context
I've seen, mainly, three ways of blacklisting driver modules by appending parameters to the kernel: (i) modprobe.blacklist=driver_name
, (ii) rd.driver.blacklist=driver_name
, or (iii) last both. This is usually done by appending these parameters to GRUB_CMDLINE_LINUX
variable at /etc/default/grub
.
I wasn't able to find out the real differences, in practice, between those. But I guess it might also change with your environment. In doubt, I've been using both at the same time and it works on my Fedora 31.
My research
rd.driver.blacklist
At man dracut.cmdline
:
rd.driver.blacklist=<drivername>[,<drivername>,...]
do not load kernel module <drivername>. This parameter can be
specified multiple times.
modprobe.blacklist
At man modprobe
:
(...). modprobe will also use module options specified on the kernel command line in the form of <module>.<option> and blacklists in the form of modprobe.blacklist=<module>.
Summarized question
So, what are the differences between modprobe.blacklist
and rd.driver.blacklist
for blacklisting drivers in Linux? When should I use each one?
modprobe.blacklist
recently when I updated Fedora 34 to kernel 5.16.15, otherwise nouveau would load and block the Nvidia driver. Previously I'd just setrd.driver.blacklist
. – Scottyscotus