Howto: Prevent a Linux kernel module from auto loading

by on June 13, 2007 · 12 comments· LAST UPDATED June 13, 2007

in , ,

In some situation you may want to avoid loading a Linux driver module automatically . For example:
[a] You would like to use proprietary device driver (I'm against any sort of proprietary drivers) and not inbuilt (reverse engineer) kernel driver.

[b] If your server system connected without a diskette / floppy drive; kernel will try to load floppy driver - disable floppy driver or module.

[c] In some cases buggy driver causes kernel BUG on load so you just want to avoid the problem.

The Linux kernel get module information from /etc/modprobe.conf file and /etc/modprobe.d/* file(s).

If you are using CentOS/Redhat/RHEL/Fedora Linux...

Just open your /etc/modprobe.conf file and turn of auto loading using following syntax:
alias driver-name off

If you are using Debian / Ubuntu Linux...

open /etc/modprobe.d/blacklist file and add drivername using following syntax:
blacklist driver-name

Reboot your box and use lsmod command to show the status of modules in the Linux Kernel.



If you would like to be kept up to date with our posts, you can follow us on Twitter, Facebook, Google+, or even by subscribing to our RSS Feed.


{ 12 comments… read them below or add one }

1 Béranger June 14, 2007 at 6:30 am

Blacklisting in /etc/modprobe.d/blacklist works in F7 too, not only in Debian!

Reply

2 Erik Bussink June 14, 2007 at 7:04 pm

On a similar path, how would you go about disabling USB without having to add nousb on the kernel settings line in GRUB ?

Reply

3 vivek June 15, 2007 at 10:34 am

You need to add following drivers
usbcore
ehci_hcd
uhci_hcd

lsmod and modinfo command always gives information about loaded drivers.

Reply

4 Prakash August 31, 2007 at 8:57 pm

the method is if nothing works in debian based distros to blacklist a certain module,try making a file /etc/modprobe.d/00local with content as
install modulename /bin/true

Reply

5 MotoHoss July 15, 2008 at 9:57 pm

The debian way? An update has been written and is available here : http://wiki.debian.org/KernelModuleBlacklisting

Reply

6 Ravi J December 29, 2009 at 7:53 pm

I am unable to stop kvm, kvm_intel from getting loaded even after adding those to blacklist (Ubuntu 9.10).

Reply

7 Dhananjay March 1, 2011 at 1:19 pm

Thanks a lot.

Reply

8 0xA00A July 13, 2011 at 9:35 am

on fedora 15 you do:
sudo gedit /etc/modprobe.d/blacklist.conf
blacklist driver-name

Reply

9 Riccardo September 1, 2011 at 7:22 pm

On Suse is like fedora 15:

sudo gedit /etc/modprobe.d/blacklist.conf
blacklist driver-name

Reply

10 Gary October 14, 2011 at 8:46 pm

alias driver-name off does nto work on CentOS 5.5

Reply

11 nathan April 21, 2012 at 8:55 pm

OpenSuse 11.4 can only mount one type of filesystem ‘ISO9660′ . What is my problem?
Thank you
Nathan

Reply

12 cristian February 4, 2013 at 5:30 pm

How I can do to join the blacklist all except driver being used. thanks. cristian

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 3 + 8 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.

Previous post:

Next post: