Re: [PATCH 0/3] Implement /proc/built-in file similar to /proc/modules
From: Lucas De Marchi <hidden>
Date: 2014-09-16 15:48:45
Also in:
linux-modules, lkml
On Sun, Sep 14, 2014 at 3:56 PM, Greg KH [off-list ref] wrote:
On Sun, Sep 14, 2014 at 10:35:58PM +0400, Kirill Tkhai wrote:quoted
It's just an unification with /proc/modules. Why should we do any difference between external and built-in modules? It's the same, it's similar, it's better to parse when they can be shown similar./proc/modules is for loaded modules, and it includes lots of information that tools rely on. It is also a very old file, no new non-process-related proc/ files should be created anymore. It's been that way since sysfs was created (and one of the reasons for sysfs.)
Yeah. And let me add that kmod treats /proc/modules as deprecated. It's way nicer to get the information from sysfs. See https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/tree/README#n116
quoted
quoted
No, they want the functionality that a module provides, not the module name, or some random configuation option. It seems like you are trying to solve a problem that isn't there. What program is broken right now that this new proc file (or sysfs directory) would fix?The initial reason was I'm building custom kernels for more than 10 years (not so long, I agree), and every boot I see a big list of modules from distribution /etc/module, which can't be autoloaded. I prefer to build drivers in kernel. I tried to find is there a way for userspace to understand that a module are present, but there is no a way. So this is a reason.
you're probably using ancient userspace. kmod checks the modules.builtin file generated by the kernel buildsys so "modprobe buitin-module" doesn't return an error.
Again, focus on kernel functionality, not module names or config options, and you should be fine.
Yeah... and if you do this way you may not even bother about the
module itself. See the output of "kmod static-nodes". These nodes are
created by init even if the module itself is not loaded. The right
module will be loaded when the node is first accessed. And that
includes the "loop" module you mention.
$ kmod static-nodes | grep -A3 loop
Module: loop
Device node: /dev/loop-control
Type: character device
Major: 10
Minor: 237
--
Lucas De Marchi