132 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
kmod - Linux kernel module handling
 | 
						|
 | 
						|
Information
 | 
						|
===========
 | 
						|
 | 
						|
Build Status:
 | 
						|
	https://lucasdemarchi.semaphoreci.com/projects/kmod
 | 
						|
 | 
						|
Mailing list:
 | 
						|
	linux-modules@vger.kernel.org (no subscription needed)
 | 
						|
	https://lore.kernel.org/linux-modules/
 | 
						|
 | 
						|
Patchwork:
 | 
						|
	https://patchwork.kernel.org/project/linux-modules/
 | 
						|
 | 
						|
Signed packages:
 | 
						|
	http://www.kernel.org/pub/linux/utils/kernel/kmod/
 | 
						|
 | 
						|
Git:
 | 
						|
	git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
 | 
						|
	http://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
 | 
						|
	https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
 | 
						|
 | 
						|
Gitweb:
 | 
						|
	http://git.kernel.org/?p=utils/kernel/kmod/kmod.git
 | 
						|
 | 
						|
Irc:
 | 
						|
	#kmod on irc.freenode.org
 | 
						|
 | 
						|
License:
 | 
						|
	LGPLv2.1+ for libkmod, testsuite and helper libraries
 | 
						|
	GPLv2+ for tools/*
 | 
						|
 | 
						|
 | 
						|
OVERVIEW
 | 
						|
========
 | 
						|
 | 
						|
kmod is a set of tools to handle common tasks with Linux kernel modules like
 | 
						|
insert, remove, list, check properties, resolve dependencies and aliases.
 | 
						|
 | 
						|
These tools are designed on top of libkmod, a library that is shipped with
 | 
						|
kmod. See libkmod/README for more details on this library and how to use it.
 | 
						|
The aim is to be compatible with tools, configurations and indexes from
 | 
						|
module-init-tools project.
 | 
						|
 | 
						|
Compilation and installation
 | 
						|
============================
 | 
						|
 | 
						|
In order to compiler the source code you need following software packages:
 | 
						|
	- GCC compiler
 | 
						|
	- GNU C library
 | 
						|
 | 
						|
Optional dependencies:
 | 
						|
	- ZLIB library
 | 
						|
	- LZMA library
 | 
						|
 | 
						|
Typical configuration:
 | 
						|
	./configure CFLAGS="-g -O2" --prefix=/usr \
 | 
						|
			--sysconfdir=/etc --libdir=/usr/lib
 | 
						|
 | 
						|
Configure automatically searches for all required components and packages.
 | 
						|
 | 
						|
To compile and install run:
 | 
						|
	make && make install
 | 
						|
 | 
						|
Hacking
 | 
						|
=======
 | 
						|
 | 
						|
Run 'autogen.sh' script before configure. If you want to accept the recommended
 | 
						|
flags, you just need to run 'autogen.sh c'. Note that the recommended
 | 
						|
flags require cython be installed to compile successfully.
 | 
						|
 | 
						|
Make sure to read the CODING-STYLE file and the other READMEs: libkmod/README
 | 
						|
and testsuite/README.
 | 
						|
 | 
						|
Compatibility with module-init-tools
 | 
						|
====================================
 | 
						|
 | 
						|
kmod replaces module-init-tools, which is end-of-life. Most of its tools are
 | 
						|
rewritten on top of libkmod so it can be used as a drop in replacements.
 | 
						|
Somethings however were changed. Reasons vary from "the feature was already
 | 
						|
long deprecated on module-init-tools" to "it would be too much trouble to
 | 
						|
support it".
 | 
						|
 | 
						|
There are several features that are being added in kmod, but we don't
 | 
						|
keep track of them here.
 | 
						|
 | 
						|
modprobe
 | 
						|
--------
 | 
						|
 | 
						|
* 'modprobe -l' was marked as deprecated and does not exist anymore
 | 
						|
 | 
						|
* 'modprobe -t' is gone, together with 'modprobe -l'
 | 
						|
 | 
						|
* modprobe doesn't parse configuration files with names not ending in
 | 
						|
  '.alias' or '.conf'. modprobe used to warn about these files.
 | 
						|
 | 
						|
* modprobe doesn't parse 'config' and 'include' commands in configuration
 | 
						|
  files.
 | 
						|
 | 
						|
* modprobe from m-i-t does not honour softdeps for install commands. E.g.:
 | 
						|
  config:
 | 
						|
 | 
						|
        install bli "echo bli"
 | 
						|
	install bla "echo bla"
 | 
						|
	softdep bla pre: bli
 | 
						|
 | 
						|
  With m-i-t, the output of 'modprobe --show-depends bla' will be:
 | 
						|
        install "echo bla"
 | 
						|
 | 
						|
  While with kmod:
 | 
						|
        install "echo bli"
 | 
						|
        install "echo bla"
 | 
						|
 | 
						|
* kmod doesn't dump the configuration as is in the config files. Instead it
 | 
						|
  dumps the configuration as it was parsed. Therefore, comments and file names
 | 
						|
  are not dumped, but on the good side we know what the exact configuration
 | 
						|
  kmod is using. We did this because if we only want to know the entire content
 | 
						|
  of configuration files, it's enough to use find(1) in modprobe.d directories
 | 
						|
 | 
						|
depmod
 | 
						|
------
 | 
						|
 | 
						|
* there's no 'depmod -m' option: legacy modules.*map files are gone
 | 
						|
 | 
						|
lsmod
 | 
						|
-----
 | 
						|
 | 
						|
* module-init-tools used /proc/modules to parse module info. kmod uses
 | 
						|
  /sys/module/*, but there's a fallback to /proc/modules if the latter isn't
 | 
						|
  available
 |