NAME
modload
—
load a kernel module
SYNOPSIS
modload |
[-dnSsv ] [-A
kernel] [-e
entry] [-o
output_file] [-p
postinstall] 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:
-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.
-d
- Debug. Used to debug
modload
itself. -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'. -n
- Do everything, except calling the module entry point (and any post-install program).
-o
output_file- Specify the name of the output file that is produced by the linker.
-p
postinstall- Specify the name of a shell script or program that will be executed 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 argument is the block or character major device number. For a loadable system call, the third argument is the system call number.
-S
- Do not remove the temporary object file. By default, the ld(1) output is removed after being loaded into the kernel.
-s
- Do not load symbols from the kernel module.
-v
- Print comments about the loading process.
FILES
- /dev/ksyms
- Default file passed to the linker to resolve external references in the module.
- /usr/include/sys/lkm.h
- File containing definitions of module types.
EXIT STATUS
The modload
utility exits with a status of
0 on success and with a nonzero status if an error occurs.
SEE ALSO
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
- The loadable device driver framework can only reserve either a character or block device entry, not both.
- Loading the symbol table is expensive in terms of space: it presently
duplicates all the kernel symbols for each lkm loaded with
-s
.