blob: a2a2a5c4a726c48fc2cfa7017463103b174b8d43 [file] [log] [blame]
Lucas De Marchicb48c9b2011-12-12 16:41:38 -02001kmod - Linux kernel module handling
Gustavo Sverzut Barbieri91b44c72011-12-02 21:05:38 -02002
3OVERVIEW
4========
5
Lucas De Marchicb48c9b2011-12-12 16:41:38 -02006kmod is a set of tools to handle common tasks with Linux kernel modules like
7insert, remove, list, check properties, resolve dependencies and aliases.
Gustavo Sverzut Barbieri91b44c72011-12-02 21:05:38 -02008
Lucas De Marchicb48c9b2011-12-12 16:41:38 -02009These tools are designed on top of libkmod, a library that is shipped with
10kmod. See libkmod/README for more details on this library and how to use it.
11The aim is to be compatible with tools, configurations and indexes from
12module-init-tools project.
Lucas De Marchidd420602012-01-09 13:15:46 -020013
14Compilation and installation
15============================
16
17In order to compiler the source code you need following software packages:
18 - GCC compiler
19 - GNU C library
20
21Optional dependencies:
22 - ZLIB library
23 - LZMA library
24
25Typical configuration:
26 ./configure CFLAGS="-g -O2" --prefix=/usr \
27 --sysconfdir=/etc --libdir=/usr/lib
28
29Configure automatically searches for all required components and packages.
30
31To compile and install run:
32 make && make install
33
Lucas De Marchi3bf8d4b2012-01-12 18:31:10 -020034Hacking
35=======
36
37Run 'bootstrap' script before configure. If you want to accept the recommended
38flags, you just need to run 'bootstrap-configure'.
39
Lucas De Marchi314719c2012-03-21 22:26:03 -030040Make sure to read the CODING-STYLE file and the other READMEs: libkmod/README
41and testsuite/README.
Lucas De Marchi3bf8d4b2012-01-12 18:31:10 -020042
Lucas De Marchidd420602012-01-09 13:15:46 -020043Information
44===========
45
Lucas De Marchi1b3cd9d2012-01-23 12:29:38 -020046Signed packages:
Lucas De Marchibb05bc82012-02-24 01:58:20 -020047 http://www.kernel.org/pub/linux/utils/kernel/kmod/
Lucas De Marchi1b3cd9d2012-01-23 12:29:38 -020048
Lucas De Marchidd420602012-01-09 13:15:46 -020049Mailing list:
Lucas De Marchif38e68a2012-07-31 09:58:21 -030050 linux-modules@vger.kernel.org (no subscription needed)
Lucas De Marchidd420602012-01-09 13:15:46 -020051
Lucas De Marchibb05bc82012-02-24 01:58:20 -020052Git:
53 git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
54 http://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
55 https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
56
57Gitweb:
58 http://git.kernel.org/?p=utils/kernel/kmod/kmod.git
59
60Irc:
61 #kmod on irc.freenode.org
Lucas De Marchicd923112013-07-17 02:26:47 -030062
63Compatibility with module-init-tools
64====================================
65
66kmod replaces module-init-tools, which is end-of-life. Most of its tools are
67rewritten on top of libkmod so it can be used as a drop in replacements.
68Somethings however were changed. Reasons vary from "the feature was already
69long deprecated on module-init-tools" to "it would be too much trouble to
70support it".
71
72There are several features that are being added in kmod, but we don't
73keep track of them here.
74
75modprobe
76--------
77
78* 'modprobe -l' was marked as deprecated and does not exist anymore
79
80* 'modprobe -t' is gone, together with 'modprobe -l'
81
82* modprobe doesn't parse configuration files with names not ending in
83 '.alias' or '.conf'. modprobe used to warn about these files.
84
85* modprobe doesn't parse 'config' and 'include' commands in configuration
86 files.
87
88* modprobe from m-i-t does not honour softdeps for install commands. E.g.:
89 config:
90
91 install bli "echo bli"
92 install bla "echo bla"
93 softdep bla pre: bli
94
95 With m-i-t, the output of 'modprobe --show-depends bla' will be:
96 install "echo bla"
97
98 While with kmod:
99 install "echo bli"
100 install "echo bla"
101
102* kmod doesn't dump the configuration as is in the config files. Instead it
103 dumps the configuration as it was parsed. Therefore, comments and file names
104 are not dumped, but on the good side we know what the exact configuration
105 kmod is using. We did this because if we only want to know the entire content
106 of configuration files, it's enough to use find(1) in modprobe.d directories
107
108depmod
109------
110
111* there's no 'depmod -m' option: legacy modules.*map files are gone
112
113lsmod
114-----
115
116* module-init-tools used /proc/modules to parse module info. kmod uses
117 /sys/module/*, but there's a fallback to /proc/modules if the latter isn't
118 available