# Linux kernel modules 1. [TL;DR](#tldr) 1. [Load modules on boot](#load-modules-on-boot) 1. [Permanent modules configuration](#permanent-modules-configuration) 1. [Further readings](#further-readings) 1. [Sources](#sources) ## TL;DR ```sh # Show what kernel modules are currently loaded. lsmod # List all modules built into the currently running kernel. cat "/lib/modules/$(uname -r)/modules.builtin" # List all available modules. find "/lib/modules/$(uname -r)" -type f -name '*.ko*' # Show information about a module. modinfo 'module_name' # List the options set for loaded modules. systool -v -m 'module_name' # Show the comprehensive configuration of modules. modprobe -c modprobe -c | grep 'module_name' # List the dependencies of modules or aliases. # Includes the module itself. modprobe --show-depends 'module_name' # Load modules. modprobe 'module_name' modprobe 'module_name' 'parameter_1=value' 'parameter_n=value' # Load modules by file name. # For those not installed in "/usr/lib/modules/$(uname -r)/". insmod 'file_name' 'arg_1' 'arg_n' # Unload modules. modprobe -r 'module_name' rmmod 'module_name' ``` ## Load modules on boot If using Systemd, put lists of modules in `.conf` files in the `/etc/modules-load.d/` directory: ```sh $ cat '/etc/modules-load.d/ddcutil.conf' i2c-dev ``` ## Permanent modules configuration Write the options in a `.conf` file in `/etc/modprobe.d/`: ```conf # /etc/modprobe.d/raspi-wifi-workaround.conf options brcmfmac roamoff=1 feature_disable=0x82000 ``` ## Further readings - The [Kernel module][arch wiki kernel module] page in the [Arch wiki] - The [Kernel modules][gentoo wiki kernel modules] page in the [Gentoo wiki] ### Sources - [How to load a kernel module automatically at boot time] [arch wiki]: https://wiki.archlinux.org [arch wiki kernel module]: https://wiki.archlinux.org/title/Kernel_module [gentoo wiki]: https://wiki.gentoo.org/wiki/Main_Page [gentoo wiki kernel modules]: https://wiki.gentoo.org/wiki/Kernel_Modules [how to load a kernel module automatically at boot time]: https://www.cyberciti.biz/faq/linux-how-to-load-a-kernel-module-automatically-at-boot-time/