INSMOD(1)              Linux Module Support             INSMOD(1)

       insmod - install loadable kernel module

       insmod [ -fkmpsxXv ] [ -o module_name ] object_file [ sym-
       bol=value ... ]

       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

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

       -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 -- 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

       -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  ter-

       -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.

       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  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

       rmmod(1), modprobe(1), depmod(1), lsmod(1), ksyms(1), mod-
       ules(2), genksyms(8), kerneld(8).

       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                          1