MODLOAD(8)              NetBSD System Manager's Manual              MODLOAD(8)

NAME
     modload -- load a kernel module

SYNOPSIS
     modload [-dfnsSv] [-A kernel] [-e entry] [-p postinstall]
             [-o output_file] [-T linker_script] input_file

DESCRIPTION
     The modload utility loads a loadable kernel module into a running system.
     The input file is an object file (.o file).

     The options to modload are as follows:

     -d      Debug.  Used to debug modload itself.

     -f      This forces load of the module, even if it doesn't match the cur-
             rently running kernel.  When LKM is loaded, the kernel normally
             checks if the LKM is compatible with the running kernel.  This
             option disables this check.  Note an incompatible LKM can cause
             system instability, including data loss or corruption.  Don't use
             this option unless you are sure what you are doing.

     -n      Do everything, except calling the module entry point (and any
             post-install program).

     -v      Print comments about the loading process.

     -s      Load the symbol table.

     -S      Do not remove the temporary object file.  By default, the ld(1)
             output is removed after being loaded into the kernel.

     -A kernel
             Specify the file that is passed to the linker to resolve module
             references to external symbols.  The symbol file must be for the
             currently running kernel or the module is likely to crash the
             system.

     -e entry
             Specify the module entry point.  This is passed by modload to
             ld(1) when the module is linked.  The default module entry point
             name is `xxxinit'.  If `xxxinit' cannot be found, an attempt to
             use `<module_name>_lkmentry' will be made, where <module_name> is
             the filename being loaded without the `.o'.

     -p postinstall
             Specify the name of a shell script or program that will be exe-
             cuted if the module is successfully loaded.  It is always passed
             the module id (in decimal) and module type (in hexadecimal) as
             the first two arguments.  For loadable drivers, the third argu-
             ment is the character major device number and the fourth argument
             is the block major device number.  For a loadable system call,
             the third argument is the system call number.

     -o output_file
             Specify the name of the output file that is produced by the
             linker.

     -T linker_script
             Specify the name of the linker script use to link against the
             kernel.

FILES
     /netbsd                 default file passed to the linker to resolve
                             external references in the module
     /usr/include/sys/lkm.h  file containing definitions of module types

DIAGNOSTICS
     The modload utility exits with a status of 0 on success and with a
     nonzero status if an error occurs.

     Mismatched LKM and kernel versions will be reported to the console and to
     the system message buffer.

SEE ALSO
     ld(1), lkm(4), modstat(8), modunload(8)

HISTORY
     The modload command was designed to be similar in functionality to the
     corresponding command in SunOS 4.1.3.

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

BUGS
     Loading the symbol table is expensive in terms of space: it presently
     duplicates all the kernel symbols for each lkm loaded with -s.

NetBSD 5.0_STABLE               March 23, 2006               NetBSD 5.0_STABLE
