11

I would like to temporarily (until next boot) disable a kernel module.

How can I do this?

Seth
  • 58,122

2 Answers2

10

Use lsmod to find the name of a kernel module about that you are interested in temporarily disabling. After you've found the name, use this command to disable the module:

sudo modprobe -r <module_name>

However, this command will fail with an error message something like FATAL: Module <module_name> is in use if a process is using:

  • the <module_name>
  • a module about that <module_name> directly depends on
  • any module about that <module_name> - through the dependency tree - depends on indirectly.

You can use lsmod | grep <module_name> to obtain the names of the modules which are preventing you from temporarily disabling a certain module (these module names are listed in the last column).

More about:

brettv
  • 129
Radu Rădeanu
  • 169,590
  • 1
    This doesn't however, disable or 'remove' buildin modules, which will give an FATAL: Module g_serial is builtin. error. – Tim Visee Jun 16 '15 at 13:12
  • Your answer doesn't explain how to remove modules that are in use? What needs to be done after running the lsmod command? – Raleigh L. Jan 12 '24 at 21:38
4

It appears:

sudo modprobe -r moduleName

Achieves what I want. The module is removed and reloaded upon reboot.

Seth
  • 58,122