insmod – Load the Given Module into the Kernel

The insmod command is used to load a kernel module into the Linux kernel. Kernel modules are pieces of code that can be loaded and unloaded into the kernel at runtime, providing additional functionality to the operating system. This command is typically used by system administrators to install new hardware drivers, add new filesystems, or enable new features in the kernel.


The insmod command requires the name of the module to be loaded as an argument. The module must be located in the current directory or in one of the directories listed in the LD_LIBRARY_PATH environment variable. The command will load the module into the kernel and make its functionality available to the rest of the system.

Here is an example of how to use the insmod command:

$ insmod mymodule.ko

This command will load the mymodule.ko module into the kernel. The .ko file extension is used to identify kernel modules.


The following table lists all available options for the insmod command:

Option Description
-f Force loading of the module even if it is already loaded
-k Remove the module from the kernel
-v Verbose output

Troubleshooting Tips

If the insmod command fails to load a module, it may be because the module depends on other modules that are not currently loaded. In this case, the modprobe command can be used to load the dependencies automatically.

If the insmod command reports an error, it may be because the module is not compatible with the current version of the kernel. Kernel modules are specific to a particular version of the kernel, and may need to be recompiled for a different version.


The insmod command should be used with caution, as loading an incompatible or buggy kernel module can cause system instability or crashes. It is recommended to only load modules from trusted sources, and to verify that they are compatible with the current kernel version before installation.