INSMOD(1)

NAME
insmod - install loadable kernel module

SYNOPSIS
insmod [ -fkmpsxXv ] [ -o module_name ] object_file [ symbol=value ... ]

DESCRIPTION
Insmod installs a loadable module in the running kernel.

Insmod tries to link a module into the running kernel by resolving all symbols from the kernel's exported symbol table.

If the object file name is given without extension, insmod will search for the module in some common default directories. The environment variable MODPATH can be used to override this default.

  OPTIONS

-f  Attempt load the module even if the version of the running kernel and the version of the kernel for which the module was compiled do not match.

-k  Set the auto-clean flag on the module. This flag will be used by kerneld(8) to remove modules that have not been used in some period of time — usually one minute.

-m  Output a load map, making it easier to debug the module in the event of a kernel panic.

-o  Explicitly name the module, rather than deriving the name from the base name of the source object file.

-p  Probe the module to see if it could be successfully loaded. This includes locating the object file in the module path, checking version numbers, and resolving symbols.

-s  Output everything to syslog(3) instead of the terminal.

-v  Be verbose.

-X, -x
    Do and do not export all of the module's external symbols, respectively. The default is for the symbols to be exported. This option is only effective if the module does not explicitly export its own controled symbol table, and thus is depreciated.

  MODULE PARAMETERS
Some modules accept load-time parameters to customize their operation. These parameters are often I/O port and IRQ numbers that vary from machine to machine and cannot be determined from the hardware.

In modules built for 2.0 series kernels, any integer or character pointer symbol may be treated as a parameter and modified. Beginning in the 2.1 series kernels, symbols are explicitly marked as parameters so that only specific values may be chagned. Furthermore type information is provied for checking the values provided at load time.

In the case of integers, all values may be in decimal, octal or hexadecimal a la C: 17, 021 or 0x11. Array elements are specified sequence separrated by commas; elements can be skipped by omitting the value.

In 2.0 series modules, values that do not begin with a number are considered strings. Beginning in 2.1, the parameter's type information indicates whether to interpret the value as a string. If the value begins with double-quotes ("), the string is interpreted as in C, escape sequences and all. Do note that from the shell prompt, the quotes themselves may need to be protected from shell interpretation.

SEE ALSO
rmmod(1), modprobe(1), depmod(1), lsmod(1), ksyms(1), modules(2), genksyms(8), kerneld(8).

HISTORY
Module support was first concieved by Anonymous
Initial Linux version by Bas Laarhoven <bas@vimec.nl>
Version 0.99.14 by Jon Tombs <jon@gtex02.us.es>
Extended by Bjorn Ekwall <bj0rn@blox.se>
Original ELF help from Eric Youngdale <eric@aib.com>
Rewritten for 2.1.17 by Richard Henderson <rth@tamu.edu>