*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> lkm (4)              



NAME    [Toc]    [Back]

     LKM - Loadable Kernel Modules interface

SYNOPSIS    [Toc]    [Back]

     option LKM

DESCRIPTION    [Toc]    [Back]

     Loadable kernel modules allow the  system  administrator  to
dynamically add
     and remove functionality from a running system.  This ability also helps
     software developers to develop new parts of the kernel without constantly
     rebooting to test their changes.

     Various  types  of  modules  can  be loaded into the system.
There are several
 defined module types, listed below, which can be added to
the system
     in  a predefined way.  In addition, there is a generic type,
for which the
     module itself handles loading and unloading.

     The LKM interface is used by performing  ioctl(2)  calls  on
the /dev/lkm
     device.   Normally  all operations involving Loadable Kernel
Modules are
     handled by the modload(8), modunload(8), and modstat(8) programs.  Users
     should never have to interact with /dev/lkm directly.

MODULE TYPES    [Toc]    [Back]

     System Call modules
             System calls may be replaced by loading new ones via
the LKM interface.
  All system calls may be replaced, but special care
             should be taken with the ioctl(2) system call, as it
is used to
             load and unload modules.

             When a system call module is  unloaded,  the  system
call which was
             replaced  by  the loadable module is returned to its
rightful place
             in the system call table.

     Virtual File System modules
             Virtual file systems may be added via the LKM interface.

     Device Driver modules
             New block and character device drivers may be loaded
into the
             system with LKM.  The major problem with  loading  a
device driver
             is  that the driver's device nodes must be exist for
the devices
             to be accessed.  They are  usually  created  by  instructing
             modload(8)  to  run  an appropriate program when the
driver has been
             successfully loaded.

     Execution Interpreters
             Execution interpreters allow the loading and  execution of binaries
  which are normally not usable by the operating

     Miscellaneous modules
             Miscellaneous modules are modules  for  which  there
are not currently
  well-defined or well-used interfaces for extension.  The
             user is expected to write their own loader to manipulate whatever
             kernel  data structures necessary to enable and disable the new
             module when it is loaded and unloaded.

FILES    [Toc]    [Back]

     /dev/lkm                LKM interface device
     /usr/include/sys/lkm.h  file containing definitions of  module types
     /usr/share/lkm           example  source  code  implementing
several of the
                             modules types

SEE ALSO    [Toc]    [Back]

     modload(8), modstat(8), modunload(8)

HISTORY    [Toc]    [Back]

     The LKM facility was designed to be similar in functionality
to the loadable
 kernel modules facility provided by SunOS 4.1.3.

AUTHORS    [Toc]    [Back]

     Terrence R. Lambert <terry@cs.weber.edu>

BUGS    [Toc]    [Back]

     Loading a bogus module is likely to kill your machine.

     Loadable streams modules should and will be implemented when
a streams
     implementation is written.

OpenBSD     3.6                        September     4,      1993
[ Back ]
 Similar pages
Name OS Title
mload IRIX dynamically loadable kernel modules
depmod Linux handle dependency descriptions for loadable kernel modules
modpath HP-UX change global search path for dynamically loadable kernel modules
rmmod Linux unload loadable modules
modprobe Linux high level handling of loadable modules
insmod Linux install loadable kernel module
snmpmod FreeBSD SNMP daemon loadable module interface
modload HP-UX load kernel modules on demand
kcmodule HP-UX manage kernel modules and subsystems
ml IRIX load dynamic kernel modules
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service