6 - Allow passing a path to modprobe so the module is loaded from
7 anywhere from the filesystem, but still handling the module
8 dependencies recorded in the indexes. This is mostly intended for kernel
9 developers to speedup testing their kernel modules without having to load the
10 dependencies manually or override the module in /usr/lib/modules/.
11 Now it's possible to do:
13 # modprobe ./drivers/gpu/drm/i915/i915.ko
15 As long as the dependencies didn't change, this should do the right thing
17 - Use in-kernel decompression if available. This will check the runtime support
18 in the kernel for decompressing modules and use it through finit_module().
19 Previously kmod would fallback to the older init_module() when using
20 compressed modules since there wasn't a way to instruct the kernel to
21 uncompress it on load or check if the kernel supported it or not.
22 This requires a recent kernel (>= 6.4) to have that support and
23 in-kernel decompression properly working in the kernel.
25 - Make modprobe fallback to syslog when stderr is not available, as was
26 documented in the man page, but not implemented
28 - Better explaing `modprobe -r` and how it differentiates from rmmod
30 - depmod learned a `-o <dir>` option to allow using a separate output
31 directory. With this, it's possible to split the output files from
32 the ones used as input from the kernel build system
34 - Add compat with glibc >= 2.32.9000 that dropped __xstat
36 - Improve testsuite to stop skipping tests when sysconfdir is something
39 - Build system improvements and updates
41 - Change a few return codes from -ENOENT to -ENODATA to avoid confusing output
42 in depmod when the module itself lacks a particular ELF section due to e.g.
43 CONFIG_MODVERSIONS=n in the kernel.
48 - Fix testsuite using uninitialized memory when testing module removal
51 - Fix testsuite not correctly overriding the stat syscall on 32-bit
52 platforms. For most architectures this was harmless, but for MIPS it
53 was causing some tests to fail.
55 - Fix handling unknown signature algorithm
57 - Fix linking with a static liblzma, libzstd or zlib
59 - Fix memory leak when removing module holders
61 - Fix out-of-bounds access when using very long paths as argument to rmmod
63 - Fix warnings reported by UBSan
69 - Stop adding duplicate information on modules.builtin.alias.bin, just use
70 the modules.builtin.bin index
72 - Speedup depmod, particularly under qemu with emulated arch, by
73 avoiding a lot of open/read/close of modules.alias.bin. On an
74 emulated ARM rootfs, depmod with only 2 modules was taking ~32s
77 - Add kmod_module_new_from_name_lookup() which allows doing a lookup by
78 module name, without considering the aliases. Other than that search
79 order is similar to kmod_module_new_from_lookup().
81 - modinfo learned the --modname option to explicitely show information
82 about the module, even if there is an alias with the same name. This
83 allows showing information about e.g. kernel/lib/crc32.ko, even if
84 kernel also exports a crc32 alias in modules.alias:
86 alias crc32 crc32_pclmul
87 alias crc32 crc32_generic
89 Same behavior will be used to other modules and to aliases provided
92 - depmod.conf learned a new "excludedir" directive so distro/user can
93 configure more directories to be excluded from its search, besides
94 the hardcoded values "build" and "source".
96 - Better group modprobe options on help output under "Management, Query and General".
98 - modprobe learned a --wait <MSEC> option to be used together with -r
99 when removing a module. This allows modprobe to keep trying the
100 removal if it fails because the module is still in use. An exponential backoff
101 time is used for further retries.
103 The wait behavior provided by the kernel when not passing O_NONBLOCK
104 to delete_module() was removed in v3.13 due to not be used and the
105 consequences of having to support it in the kernel. However there may
106 be some users, particularly on testsuites for individual susbsystems, that
107 would want that. So provide a userspace implementation inside modprobe for
108 such users. "rmmod" doesn't have a --wait as it remains a bare minimal over
109 the API provided by the kernel. In future the --wait behavior can be added
110 to libkmod for testsuites not exec'ing modprobe for module removal.
112 - kmod_module_remove_module() learned a new flag to silence output when
113 caller wants to handle them - this is particularly important for the
114 --wait flag to modprobe, as it's not desired to keep seeing error messages
115 while waiting for the module to be unused.
117 - Add SM3 hash algo support to modinfo output, as already available in the kernel.
120 - Fix modinfo output when showing information for a .ko module when running
121 on a kernel that has that module as builtin.
123 - Fix kmod_module_new_from_lookup() returning > 0 rather than 0
124 when it matches an alias.
126 - Fix modinfo segfault when module doesn't exist.
128 - Add missing function in the html documentation: kmod_get_dirname().
130 - Fix modprobe incorrectly handling number of arguments when prepending values from
131 MODPROBE_OPTIONS environment variable.
133 - Fix modprobe -r --remove-dependencies and since "dependencies" was a
134 misnomer, add the preferred argument option: "--remove-holders". This
135 is the same name used by the kernel. It allows users to also remove
136 other modules holding the one that is being removed.
138 - Fix off-by-one in max module name length in depmod.
141 - Start some changes in the out-of-tree test modules in kmod so they are useful
142 for being really inserted in the kernel rather than relying on kmod's mock
143 interface. This helps manual testing and may be used to exercise to test
144 changes in the kernel.
150 - Add support to use /usr/local as a place for configuration files. This makes it easier
151 to install locally without overriding distro files.
154 - Fix `modinfo -F` when module is builtin: when we asked by a specific field from modinfo,
155 it was not working correctly if the module was builtin
157 - Documentation fixes on precedence order of /etc and /run: the correct order is
158 /etc/modprobe.d, /run/modprobe.d, /lib/modprobe.d
160 - Fix the priority order that we use for searching configuration files. The
161 correct one is /etc, /run, /usr/local/lib, /lib, for both modprobe.d
164 - Fix kernel command line parsing when there are quotes present. Grub
165 mangles the command line and changes it from 'module.option="val with
166 spaces"' to '"module.option=val with spaces"'. Although this is weird
167 behavior and grub could have been fixed, the kernel understands it
168 correctly for builtin modules. So change libkmod to also parse it
169 correctly. This also brings another hidden behavior from the kernel:
170 newline in the kernel command line is also allowed and can be used to
173 - Fix a memory leak, overflow and double free on error path
175 - Fix documentation for return value from kmod_module_get_info(): we
176 return the number of entries we added to the list
178 - Fix output of modules.builtin.alias.bin index: we were writing an empty file due to
179 the misuse of kmod_module_get_info()
182 - Retire integration with semaphoreci
184 - Declare the github mirror also as an official upstream source: now besides accepting
185 patches via mailing list, PRs on github are also acceptable
187 - Misc improvements to testsuite, so we can use it reliably regardless
188 of the configuration used: now tests will skip if we don't have the
195 - Add Zstandard to the supported compression formats using libzstd
196 (pass --with-zstd to configure)
199 - Ignore ill-formed kernel command line, e.g. with "ivrs_acpihid[00:14.5]=AMD0020:0"
201 - Fix some memory leaks
202 - Fix 0-length builtin.alias.bin: it needs at least the index header
208 - Link to libcrypto rather than requiring openssl
210 - Print a better error message when kernel doesn't support module unload
212 - Use PKCS#7 instead of CMS for parsing module signature to be
213 compatible with LibreSSL and OpenSSL < 1.1.0
215 - Teach modinfo to parse modules.builtin.modinfo. When using Linux kernel
216 >= v5.2-rc1 it's possible to get module information from this new file. Now
217 modinfo is able to show it instead of an error message that the module is
222 modinfo: ERROR: Module ext4 not found.
230 description: Fourth Extended Filesystem
231 author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
239 - Do not link python bindings with libpython to be compatible with
242 - Fix module removal with `modprobe -r` when a dependency is built-in.
243 Now it properly ignores them and proceed with removal of other
246 - Fix propagation of return code from install/remove commands to the
247 the probe function. The return values of kmod_module_probe_insert_module()
248 have very specific meanings, do not confuse the caller by return codes
251 - Fix softdep config parsing leading to buffer overflow
257 - Add more error-checking in library functions and remove warnings on newer
260 - Depmod now handles parallel invoctions better by protecting the temporary
263 - Improvements to testsuite and added tests to check the our behavior
264 regardless of the features enabled in the kernel, or libraries we link to
266 - Teach the --show-exports option to modprobe. This works similarly to
267 --show-modversions, but it reports the exported symbols from that module.
268 Under the hood this reads the .symtab and .strtab section rather than
269 __versions so it shows useful data even if kernel is configured without
270 modversions (CONFIG_MODVERSIONS)
272 - Teach pkcs7 parsing to modinfo by using openssl. This allows modinfo to
273 correctly parse the signature appended to a module by the kernel build
274 system when configured with CONFIG_MODULE_SIG_ALL, or when externally
275 signed by the distro. Traditionally modules were signed and a struct
276 was appended together with the signature to the end of the module.
277 This has changed on the kernel for pkcs#7 and now the structure isn't
278 filled out with useful information. So we have to parse the signature
279 block in order to return useful data to the user.
281 If kmod is linked with openssl we parse the signature and return the
282 fields as we do for other signatures. An example of the relevant part
283 on the output of modinfo is below:
292 signer: Fedora kernel signing key
293 sig_key: 51:C4:0C:6D:7E:A5:6C:D8:8F:B4:3A:DF:91:78:4F:18:BC:D5:E4:C5
296 If kmod is not linked to openssl we just start printing "unknonwn" in the
297 sig_hashalgo field rather than the bogus value.
304 - Add module signature to modinfo output
306 - Add support for external directories in depmod: now there's a new
307 "external" keyword parsed by depmod when calculating the dependencies.
308 It allows to add modules to other directories which are not relative
309 to where the modules are commonly installed. This results in
310 modules.dep and friends now understanding absolute paths rather than
311 relative paths only. For more information see depmod.d(1).
313 - Add support for CONFIG_MODULE_REL_CRCS
315 - Add missing documentation references in man pages
317 - Handle the case in which module has a .TOC symbol already while
318 calculating dependencies
320 - Improve testsuite and allow to use mkosi to run testsuite in different
327 - Add more information on dependency loop
329 - Sanitize use of strcpy and allow to grow from small strings on stack
330 (common case) to bigger strings on heap when needed
333 - Fix wrong dependency loops being reported by depmod
335 - Fix crashes when reporting dependency loops
337 - Fix parsing kernel command line containing quotes
339 - Fix leaks on error paths
345 - Don't add comment to modules.devname if it would otherwise be empty
346 to play nice with tools detecting empty files
348 - Allow building with BSD sed, that doesn't have -E flag
350 - Ignore .TOC. symbols in depmod parsing as it's for PPC64 the
351 equivalent of _GLOBAL_OFFSET_TABLE_
353 - Teach modinfo about PKCS#7 module signatures: it doesn't add any
354 other info besides telling the user the module is signed since
355 kernel doesn't add other info on the module section
359 - Fix -s and -p compat options to insmod triggering force flag
361 - Fix long lines from /proc/modules not being handled correctly by
362 kmod_module_new_from_loaded() and kmod_module_get_size() and several
363 other library functions that use them
365 - Fix crash on modinfo while checking for available signature of
368 - Fix documentation generation with gtk-doc
374 - Change defaul log level for tools to WARNING rather than ERROR and update
375 some log levels for current messages
377 - depmod doesn't fallback to uname if a bad version is passed in the command
378 line anymore. We just exit with an error.
380 - insmod was taught the -f flag, just like in modprobe. It was previously
381 silently ignoring it.
384 - New kmod_get_dirname() API to get the module directory set in the
388 - Fix return code in error path of kmod_module_insert_module(). We were
389 previously returning ENOSYS rather than ENOENT.
395 - kmod tool started to learn the "insert" and "remove" commands that
396 are the simplified versions of the older modprobe tool. These
397 commands are still work in progress so they are hidden behind a
398 --enable-experimental flag during build. It should not be enabled
399 unless you know what you're doing.
400 - kmod tool now prints the relevant configuration options it was built
401 with when the "--version" argument is passed. This helps to mitigate
402 problems for example when the user is trying to load a compressed
403 module but kmod was built without support for the compression method.
405 - Improvements to testsuite:
406 - Cache built modules so it is easier to run "make check" on build
407 servers by distro maintainers. If kmod is configured with
408 --disable-test-modules the modules from cache will be used by
409 "make check". No changes to the tests are needed and all of them
415 - Handle bogus values from ELF, making sure they don't overflow while
417 - Fix leak in depmod when -b flag is passed multiple times
418 - Multiple minor fixes from static analysis by coverity and
420 - Fix race between loading modules and checking if it's loaded in the
424 - There's a change in behavior regarding builtin modules: we now only
425 consider as builtin those that are present in modules.builtin index.
426 Previously we were also checking the presence of
427 /sys/module/<module-name>, but this is racy and only modules that
428 contain parameters are the ones creating a directory in sysfs.
430 Now some commands will start to fail, e.g. "modprobe vt". Since vt
431 can't be compiled as a module it's not present in modules.builtin
432 index. Previously we would report at as builtin, but now we fail
433 because we couldn't find the module.
436 - Integration of gcov into the build. Currently libkmod is at ~70%
437 covered and tools at ~50% by tests in the testsuite. Utility
438 functions and structures in shared have more than 90% of coverage.
439 - Upload build to coverity
441 - Improvements to testsuite:
442 - Fix parsing return codes of init_module() calls
443 - Add tests for utility functions in shared/
444 - Add tests for kmod_module_remove_module()
445 - Add playground, in which our own modules are compiled
446 - Port all tests to use modules from module-playground instead of
447 copying prebuilt modules to the repository
448 - Properly handle binaries that exit with no output
449 - Besides comparing the output of commands, allow to copy to
456 - Fix missing CLOEXEC in library
457 - Fix error message while opening kmod's index
460 - Add kmod(8) man page
461 - Allow to build with libc's without be32toh()
462 - Move code around separating common code and data structures into a
463 shared directory. This allows to share more code between library and
464 tools, making the binary size of tools smaller.
465 - Clarify tools vs library licenses
466 - static-nodes: when writing in tmpfiles format, indicate that
467 creation of static nodes should only happen at boot. This is used and
468 required by systemd-217+.
470 - Improvements to testsuite:
471 - Add tests for newly created shared/ code
472 - Improve how tests are declared so there's less boilerplate code for
479 - Fix leaks in error paths
480 - Fix use-after-free in hash implementation causing a wrong index to be
481 generated by depmod with out-of-tree modules
484 - Calling depmod with modules creating a dependency loop will now make
485 depmod return an error and not update the indexes. This is to protect
486 the current index not being overridden by another index that may cause
487 a boot failure, depending on the buggy module. It's a necessary
488 change in behavior regarding previous kmod releases and
489 module-init-tools. The error message was also improved to output
490 the modules that caused the dependency cycle.
492 - Improvements to testsuite:
493 - Fix and improve expected-fail test
494 - Add tests for hashmap implementation
500 - Fix matching a "." in kernel cmdline, making garbage in the command
501 line be parsed as kmod options
502 - Fix man pages to clarify we don't fallback to parsing modules.dep
503 but instead we depend on modules.dep.bin (generated by depmod) to
505 - Fix ELF parsing on 32 bit systems assigning the wrong class.
506 - Fix partial matches of search directives in depmod. Previously having
507 a line in depmod.conf such as "search foo foobar built-in" would cause
508 unpretictable results because foo is a partial match of foobar as well.
509 - Fix unaligned access in modinfo when getting the signature from a
511 - Make sure softdeps are treated as optional dependencies
514 - Accept special files given to "-C" switch in modprobe. This way it's
515 possible to skip system configuration with "modprobe -C /dev/null"
516 - Do not require xsltproc on released tarballs
517 - Don't use Werror anymore
518 - Add experimental python bindings, merged from python-kmod repository
519 (https://github.com/agrover/python-kmod)
520 - Parse softdeps exported by the kernel as
521 /lib/modules/`uname -r`/modules.softdep
523 - Improvements to testsuite:
524 - Check the list of loaded modules after a test
530 - Fix usage of readdir_r()
531 - Add some missing checks for memory allocation errors
534 - Remove option from libkmod to allow waiting on module removal if
535 the module is being used. It's dangerous since it can block the
537 - Improve compatibility with musl libc
538 - Add fallback implementation for compilers without _Static_assert(),
540 - Minor optimizations to the hash table
541 - Make depmod warn if a module has incorrect devname specification
542 - Use cleanup attribute
548 - kmod static-nodes doesn't fail if modules.devname isn't available
549 - Fix getting boolean parameter from kernel cmdline in case the value
551 - Fix some mkdir_p() corner cases (used in testsuite and static-nodes)
554 - kmod static-nodes creates parent directories if given a -o option
555 - kmod binary statically links to libkmod - if distro is only interested
556 in the kmod tool (for example in an initrd) it can refrain from
557 installing the library
558 - Add shell completion for kmod tool
564 - Fix some format strings
565 - Protect against NULL being passed around to index
566 - Avoid calling syscall() with -1 when finit_module() is not available,
567 since this doesn't always work
568 - Fix not being able to remove alias due to checking the module's
570 - Minor fixes and refactors
573 - Improve libkmod documentation, particularly on how flags are dealt
575 - Remove ability to build a static libkmod
576 - Add static-nodes command to kmod that parses modules.devname
577 generating output in useful formats
583 - Add the long option --symbol-prefix option to depmod (it was absent)
585 - Don't abort if there's a bogus line in configuration file like "alias
586 psmouse off". Some distros are carrying this since the days of
590 - Add support for finit_module(2). If the module is load straight from
591 the disk and without compression we use finit_module() syscall when
592 available, falling back to init_module() otherwise
593 - kmod_module_get_info() also returns the signature if the module is
594 signed and modinfo uses it
595 - Use secure_getenv if available
596 - rmmod understands builtin modules, just like modprobe does
597 - Improve compatibility with musl-libc
598 - Test cases exit with success when receiving a signal if they are
605 - Fix removing vermagic from module when told to force load a module
606 - Fix removing __versions section when told to force load a module: we
607 need to mangle the section header, not the section.
608 - modinfo no longer fails while loading a module from file when path
609 contains ".ko" substring
614 - Improvements to testsuite:
615 - Fix testsuite defining symbols twice on 32 bit systems
616 - Allow to check generated files against correct ones
619 - libkmod now keeps a file opened after the first call to
620 kmod_module_get_{info,versions,symbols,dependency_symbols}. This
621 reduces significantly the amount of time depmod tool takes to
622 execute. Particularly if compressed modules are used.
623 - Remove --with-rootprefix from build system. It was not a great idea
624 after all and should not be use since it causes more harm then
626 - Hide --wait option on rmmod. This feature is being targeted for
627 removal from kernel. rmmod still accepts this option, but it's hidden
628 now: man page and usage() say nothing about it and if it's used,
629 user will get a 10s sleep. This way we can check and help if anyone
630 is using this feature.
631 - Refactor message logging on all tools, giving proper prefix, routing
632 everything to syslog when asked for, etc.
635 - Fix parsing of modules.order when using compressed modules
636 - Usage messages go to stdout instead of stderr
637 - Fix memory leak in hash implementation
643 - Read coresize from /sys if supported
645 - Add flag to kmod_module_probe_insert() to apply blacklisting during
646 probe only if mod is an alias. Now modprobe uses this flag by default.
647 This is needed to fix a change in behavior regarding module-init-tools
648 and ultimately makes us loading a blacklisted module.
650 - Better formatting in man pages
652 - Add option to disable building man pages at build time
654 - Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries
656 - Re-licensing testsuite as LGPL
661 - Improvements to the testsuite:
662 - Check for correct handling of softdep loops
663 - Check for correct handling of install command loops
666 - Fix build with compilers that don't support --gc-sections
667 - Handle errors when dealing with gzipped modules
668 - depmod now handles errors while writing indices, so it doesn't end up
669 with a corrupted index without telling the user
674 - No new features, small bug fixes only.
675 - Fix a bug in "modprobe -c" output: be compatible with
678 - Give a useful error message when init_module fails due to bad
679 parameter or unknown symbols
686 - Re-order dirs for configuration files to match the change in systemd and
687 udev: now the priority is:
692 - Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not
693 allowing the user to set his preferences.
696 - Return same error codes of module-init-tools when removing modules
698 - Fix builtin output in "--show-depends" when target kernel is not the
699 same of the running kernel
700 - 'modprobe -r' always look at all command line arguments
701 - Fix '-q' usage in modprobe
706 - New API in libkmod:
707 - kmod_module_apply_filter(): a generic function to apply filters in a
708 list of modules. This deprecates the use of
709 kmod_module_get_filtered_blacklist()
711 - More tests in testsuite
713 - Add compatibility with uClibc again
715 - Lookup modules.builtin.bin to decide if a module is built in kernel
717 - Downgrade some log messages so we don't annoy people with useless messages
720 - Flag --ignore-loaded was not being properly handled
721 - Infinite loop with softdeps
722 - Infinite loop with dumb user configuration with install commands
723 - Fix leak in index when there's a partial match
725 - Move repository and tarballs to kernel.org
730 - Break libkmod's API to insert a module like modprobe does. It now accepts
731 extra an extra argument to print its action and acceptable flags were
734 - Share more code between modprobe and libkmod: using the new version of
735 kmod_module_probe_insert_module() it's possible to share a great amount of
736 code between modprobe and libkmod
738 - modprobe no longer works with paths: it only accepts module names and/or
741 - testsuite was added to repository, allowing automated tests to be run and
742 easing the way bugs are reproduced.
744 - modprobe: when dumping configuration ('-c' option) separate config
745 and indexes by adding a commented line between them.
747 - Fix bugs wrt normalizing aliases and module names
749 - Fix bug wrt inserting an alias that resolves to multiple modules: we should
750 not stop on the first error, but rather continue to try loading other
753 - Fix unaligned memory access in hash function, causing depmod to output wrong
756 - Fix man page build and install: now they are only installed if tools are
762 - New APIs in libkmod to:
763 - Get configuration lists: blacklists, install commands, remove
764 commands, aliases, options and softdeps
767 - Several bugs fixed in libkmod, modprobe, depmod and modinfo
769 - API documentation: if configure with run with --enable-gtk-doc, the API doc
770 will be generated by make. Gtk-doc is required for that.
772 - Man pages are built, which replace man pages from module-init-tools
774 - 'include' and 'config' options in *.conf files were deprecated
776 - configure is not run by autogen.sh. Instead, a common set of options is
777 printed. If you are hacking on kmod, consider using bootstrap-configure
780 - 'modprobe -c' works as expected now. As opposed to module-init-tools, it
781 dumps the parsed configuration, not only the file contents.
786 - New APIs in libkmod to:
787 - Get symbols from module, parsing the ELF section
788 - Get dependency symbols
789 - Check if resources are still valid or if libkmod must be reloaded
790 - Insert module like modprobe, checking (soft-)dependencies, commands,
791 blacklist. It can run commands by itself and to call a callback
794 - Support to load modules compressed with xz
796 - Tools are now bundled together in a single tool called kmod. It can be
797 called using symlinks with the same names as tools from module-init-tools.
798 E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a
799 1:1 replacement of module-init-tools.
801 - The only missing tool, depmod, was added to kmod together with the necessary
804 - If a program using libkmod runs for a long time, as for example udev, it must
805 check if it doesn't have to re-load libkmod. A new helper function was added
806 in libkmod to check if context is still valid and udev is already using it.
808 - An 'unaligned access' bug was fixed. So those architecture that does not
809 handle unaligned access can use kmod, too.
814 Some bugs fixed: the worst of them was with an infinite loop when an alias
815 matched more than one module.
817 - New APIs in libkmod to:
818 - Get soft dependencies
819 - Get info from module files parsing ELF
820 - Get modversions from files parsing ELF
822 - Support to load gzipped kernel modules: kmod can be compiled with support to
823 gzipped modules by giving the --enable-zlib flag
825 - Support to forcefully load modules, both vermagic and modversion
827 - Support to force and nowait removal flags
829 - Configuration files are parsed in the same order as modprobe: files are
830 sorted alphabetically (independently of their dir) and files with the same
831 name obey a precedence order
833 - New tool: kmod-modinfo
835 - kmod-modprobe gained several features to be a 1:1 replacement for modprobe.
836 The only missing things are the options '--showconfig' and '-t / -l'. These
837 last ones have been deprecated long ago and they will be removed from
838 modprobe. A lot of effort has been put on kmod-modprobe to ensure it
839 maintains compabitility with modprobe.
841 - linux-modules@vger.kernel.org became the official mailing list for kmod
846 First version of kmod and its library, libkmod.
848 In the libkmod it's currently possible to:
849 - List modules currently loaded
850 - Get information about loaded modules such as initstate, refcount,
851 holders, sections, address and size
852 - Lookup modules by alias, module name or path
853 - Insert modules: options from configuration and extra options can be
854 passed, but flags are not implemented, yet
856 - Filter list of modules using blacklist
857 - For each module, get the its list of options and install/remove
859 - Indexes can be loaded on startup to speedup lookups later
861 Tools provided with the same set of options as in module-init-tools:
865 - kmod-modprobe, with some functionality still missing (use of softdep,
866 dump configuration, show modversions)