| Features: |
| ========= |
| |
| * testsuite: |
| - when fake init_module() succeeds, create an entry in /sys/module |
| - when fake delete_module() succeeds, remove its entry from /sys/module |
| - add test for dependency loop _with install commands_ relying on module |
| already been loaded in order to succeed. E.g.: alsa install rules on |
| debian: |
| |
| install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; } |
| install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; } |
| install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; } |
| install snd_pcm modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { modprobe --quiet snd-pcm-oss ; : ; } |
| install snd_mixer modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { modprobe --quiet snd-mixer-oss ; : ; } |
| install snd_seq modprobe --ignore-install snd-seq $CMDLINE_OPTS && { modprobe --quiet snd-seq-midi ; modprobe --quiet snd-seq-oss ; : ; } |
| |
| * review API, maybe unify all of these setters: |
| - kmod_module_version_get_symbol() |
| - kmod_module_version_get_crc() |
| - kmod_module_symbol_get_symbol() |
| - kmod_module_symbol_get_crc() |
| - kmod_module_dependency_symbol_get_symbol() |
| - kmod_module_dependency_symbol_get_crc() |
| - kmod_module_versions_free_list() |
| - kmod_module_symbols_free_list() |
| - kmod_module_dependency_symbols_free_list() |
| |
| * Stop using system() inside the library and use fork + exec instead |
| |
| * config: configs that do not need to be matched by fnmatch() could be using a |
| vector instead of a list. This way we could search in it by calling |
| bsearch(). |
| |
| * index: drop the "open(), seek(), read()" implementation and use another one |
| with mmap(). When lookup() is called and the file is not mmaped, mmap it. |
| |
| Things to be added/removed in kernel (check what is really needed): |
| =================================================================== |
| |
| * list of currently loaded modules |
| - readdir() in /sys/modules: dir without a 'initstate' file means the |
| module is builtin. |
| |
| * module's size should be available under /sys |
| - DONE in 3.3: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=cca3e707301862ca9b9327e6a732463982f8cd1b |
| |
| * kill /proc/modules ? |
| - Unlikely, given other tools might depend on it |
| |
| Things that are different from module-init-tools on purpose (!TODO) |
| =================================================================== |
| |
| modprobe |
| -------- |
| |
| * 'modprobe -l' was marked as deprecated and does not exist anymore |
| |
| * 'modprobe -t' is gone, together with 'modprobe -l' |
| |
| * there's and additional '--remove-dependencies' flags to modprobe so we |
| can remove modules depending on that one |
| |
| * 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 |
| ----- |
| |
| * information is parsed from /sys instead of /proc/modules |