| kmod - Linux kernel module handling |
| |
| Information |
| =========== |
| |
| Mailing list: |
| linux-modules@vger.kernel.org (no subscription needed) |
| |
| 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 'bootstrap' script before configure. If you want to accept the recommended |
| flags, you just need to run 'bootstrap-configure'. |
| |
| 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 |