module-init-tools - Linux userspace module loading utilities
------------------------------------------------------------

Handy Resources:
	- Bugs: Please send email to list
	- Git:  git://git.kernel.org/pub/scm/utils/kernel/module-init-tools/module-init-tools.git
	- IRC:  irc.freenode.org/#module-init-tools
	- Mail: linux-modules@vger.kernel.org
	- Web:  http://modules.wiki.kernel.org/

The module-init-tools are used by modern 2.6 series Linux systems to provide
userspace-side assistance in loading kernel modules and their dependencies.
Originally written to replace the older "modutils", the utilities include
the "modprobe" (load modules and their dependencies), "insmod" (load just
a single module), "modinfo" (retrieve module information), and other related
module management commands. These are intended to be relatively lightweight
in their design, since 2.6 series kernels do much of the work internally.

You will find documentation within the man pages and in this README file,
as well as some hints on development within the HACKING file. You are
encouraged to get involved by signing up to the linux-modules@vger.kernel.org
project mailing list, and posting patches (git pull requests are welcome).
You can also find further information, including the address of the mailing
list, this git repository, and so forth on the module-init-tools wiki.

Development takes place against the latest upstream Linux kernels (2.6.33
as of this writing, though kernel development moves quickly). Backward
compatibility is generally attempted, but forward compatibility (i.e. the
ability for a specific release of module-init-tools to work against data
files created by a later version as yet unreleased version) is not. In
particular, the generated data files within /lib/modules/<kernel version>
must not be assumed to have any particular format, nor should they be
parsed be any other tools. There is a specific "modinfo" utility intended
for the purposes of providing the information stored within those files.

Recent Changes:
	- There is no backwards compatibility for pre-2.6 series kernels. If
	  you intend to use an older kernel (wherein the module utilities
	  must perform various linking stages in userspace), use an older
	  tool such as provided in the "modutils" legacy kernel package.

	- Explicit locking of kernel modules is no longer being performed at
	  load time (the existing implementation required a writeable mount
	  in /lib/modules that is by no means assured - an alternative of
	  using SYSV locks was experimented with but deemed unnecessary).
	  The kernel will handle one modprobe instance racing with another
	  by denying the load and returning an error message.

Work in progress:
	- We are working on soft-dependency support that will allow modules
	  to provide hints as to dependencies that may not be explicit.

Requirements:
	- A 2.6 series Linux kernel with sysfs, procfs, and loadable module
	  support enabled in the kernel configuration. It is also required
	  that sysfs and procfs be mounted in their usual /proc and /sys
	  locations in order for certain functionality to be provided.

	- Module remove support must be enabled if removing is required. Yo
	  can also enable other options such as forced removal, but this is
	  really a bad idea for anything other than development.

	- Module versioning (MODVERSIONS) must be enabled if you would
	  like to try to use modules from one kernel with another, similar
	  one without the kernel complaining loudly at the difference.

Quickstart:
	- Make sure you have appropriate development tools (gcc, GNU autotools,
	  docbook2man, etc. Some distributions may require optional packages
	  for a static version of glibc, as an example).

	- To begin hacking on module-init-tools, you can do the following:

	1). aclocal -I m4 && automake --add-missing --copy && autoconf
	    (or run "autoreconf" from an existing setup)
	2). ./configure
	    (optionally specify "--prefix" or "--mandir" for non /usr/local)
	3). make
	4). make install
	5). depmod
	    (to update /lib/modules/<kernel version> for the latest release)

Please direct any comment/question to the linux-modules mailing list at:
	linux-modules@vger.kernel.org
