INSMOD(1) Linux Module Support INSMOD(1) NNAAMMEE insmod - install loadable kernel module SSYYNNOOPPSSIISS iinnssmmoodd [ -fkmpsxXv ] [ -o module_name ] object_file [ sym- bol=value ... ] DDEESSCCRRIIPPTTIIOONN IInnssmmoodd installs a loadable module in the running kernel. IInnssmmoodd 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, iinnssmmoodd will search for the module in some common default directo- ries. The environment variable MODPATH can be used to override this default. OOPPTTIIOONNSS _-_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 kkeerrnneelldd(8) to remove modules that have not been used in some period of time -- usu- ally 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 ssyysslloogg(3) instead of the ter- minal. _-_v Be verbose. _-_X_, _-_x Do and do not export all of the module's external symbols, respectively. The default is for the sym- bols to be exported. This option is only effective if the module does not explicitly export its own controled symbol table, and thus is depreciated. MMOODDUULLEE PPAARRAAMMEETTEERRSS Some modules accept load-time parameters to customize Linux 26 Dec 1996 1 INSMOD(1) Linux Module Support INSMOD(1) 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 ele- ments are specified sequence separrated by commas; ele- ments 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 inter- pret the value as a string. If the value begins with dou- ble-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. SSEEEE AALLSSOO rrmmmmoodd(1), mmooddpprroobbee(1), ddeeppmmoodd(1), llssmmoodd(1), kkssyymmss(1), mmoodd-- uulleess(2), ggeennkkssyymmss(8), kkeerrnneelldd(8). HHIISSTTOORRYY Module support was first concieved by Anonymous Initial Linux version by Bas Laarhoven Version 0.99.14 by Jon Tombs Extended by Bjorn Ekwall Original ELF help from Eric Youngdale Rewritten for 2.1.17 by Richard Henderson Linux 26 Dec 1996 2