1.3 KiB
Notes about the Linux Kernel
Kernel modules
How to list all loadable kernel modules?
Source: StackExchange
Question: How do I list all the available modules in the system? In which directory are they located?
By default modprobe
loads modules from kernel subdirectories located in the /lib/modules/$(uname -r)
directory. Usually all files have extension .ko
, so you can list them with
find /lib/modules/$(uname -r) -type f -name '*.ko'
or, taking into account compressed files:
find /lib/modules/$(uname -r) -type f -name '*.ko*'
Each module can be also loaded by referring to its aliases, stored in the /lib/modules/$(uname -r)/modules.alias
(and modules.alias.bin
).
However, to load a modules successfully modprobe
needs their dependencies listed in the file /lib/modules/$(uname -r)/modules.dep
(and a corresponding binary version modules.dep.bin
). If some module is present on the system, but is not on the list, then you should run a command depmod
which will generate such dependencies and automatically include your module to modules.dep and modules.dep.bin
.
Additionally, if the module is successfully loaded it will be listed in the file /proc/modules
(also accessed via command lsmod
).