]>
Commit | Line | Data |
---|---|---|
cb48c9b2 | 1 | kmod - Linux kernel module handling |
91b44c77 | 2 | |
1dd4ff56 LDM |
3 | Information |
4 | =========== | |
5 | ||
ad411f76 LDM |
6 | Build Status: |
7 | https://lucasdemarchi.semaphoreci.com/projects/kmod | |
0d833715 | 8 | |
1dd4ff56 LDM |
9 | Mailing list: |
10 | linux-modules@vger.kernel.org (no subscription needed) | |
edc9d817 | 11 | https://lore.kernel.org/linux-modules/ |
1dd4ff56 | 12 | |
f7ed430a LDM |
13 | Patchwork: |
14 | https://patchwork.kernel.org/project/linux-modules/ | |
15 | ||
1dd4ff56 LDM |
16 | Signed packages: |
17 | http://www.kernel.org/pub/linux/utils/kernel/kmod/ | |
18 | ||
19 | Git: | |
20 | git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git | |
21 | http://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git | |
22 | https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git | |
23 | ||
24 | Gitweb: | |
25 | http://git.kernel.org/?p=utils/kernel/kmod/kmod.git | |
26 | ||
27 | Irc: | |
28 | #kmod on irc.freenode.org | |
29 | ||
30 | License: | |
31 | LGPLv2.1+ for libkmod, testsuite and helper libraries | |
32 | GPLv2+ for tools/* | |
33 | ||
34 | ||
91b44c77 GSB |
35 | OVERVIEW |
36 | ======== | |
37 | ||
cb48c9b2 LDM |
38 | kmod is a set of tools to handle common tasks with Linux kernel modules like |
39 | insert, remove, list, check properties, resolve dependencies and aliases. | |
91b44c77 | 40 | |
cb48c9b2 LDM |
41 | These tools are designed on top of libkmod, a library that is shipped with |
42 | kmod. See libkmod/README for more details on this library and how to use it. | |
43 | The aim is to be compatible with tools, configurations and indexes from | |
44 | module-init-tools project. | |
dd420605 LDM |
45 | |
46 | Compilation and installation | |
47 | ============================ | |
48 | ||
49 | In order to compiler the source code you need following software packages: | |
50 | - GCC compiler | |
51 | - GNU C library | |
52 | ||
53 | Optional dependencies: | |
54 | - ZLIB library | |
55 | - LZMA library | |
56 | ||
57 | Typical configuration: | |
58 | ./configure CFLAGS="-g -O2" --prefix=/usr \ | |
59 | --sysconfdir=/etc --libdir=/usr/lib | |
60 | ||
61 | Configure automatically searches for all required components and packages. | |
62 | ||
63 | To compile and install run: | |
64 | make && make install | |
65 | ||
3bf8d4b0 LDM |
66 | Hacking |
67 | ======= | |
68 | ||
028d4df3 LDM |
69 | Run 'autogen.sh' script before configure. If you want to accept the recommended |
70 | flags, you just need to run 'autogen.sh c'. Note that the recommended | |
4cce76eb | 71 | flags require cython be installed to compile successfully. |
3bf8d4b0 | 72 | |
314719c5 LDM |
73 | Make sure to read the CODING-STYLE file and the other READMEs: libkmod/README |
74 | and testsuite/README. | |
3bf8d4b0 | 75 | |
cd923111 LDM |
76 | Compatibility with module-init-tools |
77 | ==================================== | |
78 | ||
79 | kmod replaces module-init-tools, which is end-of-life. Most of its tools are | |
80 | rewritten on top of libkmod so it can be used as a drop in replacements. | |
81 | Somethings however were changed. Reasons vary from "the feature was already | |
82 | long deprecated on module-init-tools" to "it would be too much trouble to | |
83 | support it". | |
84 | ||
85 | There are several features that are being added in kmod, but we don't | |
86 | keep track of them here. | |
87 | ||
88 | modprobe | |
89 | -------- | |
90 | ||
91 | * 'modprobe -l' was marked as deprecated and does not exist anymore | |
92 | ||
93 | * 'modprobe -t' is gone, together with 'modprobe -l' | |
94 | ||
95 | * modprobe doesn't parse configuration files with names not ending in | |
96 | '.alias' or '.conf'. modprobe used to warn about these files. | |
97 | ||
98 | * modprobe doesn't parse 'config' and 'include' commands in configuration | |
99 | files. | |
100 | ||
101 | * modprobe from m-i-t does not honour softdeps for install commands. E.g.: | |
102 | config: | |
103 | ||
104 | install bli "echo bli" | |
105 | install bla "echo bla" | |
106 | softdep bla pre: bli | |
107 | ||
108 | With m-i-t, the output of 'modprobe --show-depends bla' will be: | |
109 | install "echo bla" | |
110 | ||
111 | While with kmod: | |
112 | install "echo bli" | |
113 | install "echo bla" | |
114 | ||
115 | * kmod doesn't dump the configuration as is in the config files. Instead it | |
116 | dumps the configuration as it was parsed. Therefore, comments and file names | |
117 | are not dumped, but on the good side we know what the exact configuration | |
118 | kmod is using. We did this because if we only want to know the entire content | |
119 | of configuration files, it's enough to use find(1) in modprobe.d directories | |
120 | ||
121 | depmod | |
122 | ------ | |
123 | ||
124 | * there's no 'depmod -m' option: legacy modules.*map files are gone | |
125 | ||
126 | lsmod | |
127 | ----- | |
128 | ||
129 | * module-init-tools used /proc/modules to parse module info. kmod uses | |
130 | /sys/module/*, but there's a fallback to /proc/modules if the latter isn't | |
131 | available |