Re: List of all available kernel modules per version

2021-09-26 Thread jim . cromie
On Fri, Sep 24, 2021 at 9:32 PM Valdis Klētnieks
 wrote:
>
> On Fri, 24 Sep 2021 18:08:01 -0600, jim.cro...@gmail.com said:
>
> > grumble/
> > ive often wanted lsmod -b  to tell me that list.  or something like that.
> > maybe a different rc
>
> See CONFIG_ICONFIG and friends in init/Kconfig
>
> That will give you not just the module list, but the entire .config the 
> kernel was built with.

Indeed.  I use it builtin, when I remember to add it.
And annoying when Ive forgotten it.

and its nowhere near default:
/boot/config-5.13.15-200.fc34.x86_64:# CONFIG_IKCONFIG is not set


For a while now, Ive wanted a way to feed a config-fragment,
say a dozen CONFIG specs;  CONFIG_IKCONFIG=y, CONFIG_DYNAMIC_DEBUG=y, etc...
and have it all just work

I would note that virtme does something comparable:

[jimc@frodo local-i915m]$ virtme-configkernel --update
  GEN Makefile
.config:7395:warning: override: reassigning to symbol UEVENT_HELPER
.config:7396:warning: override: reassigning to symbol VIRTIO
.config:7397:warning: override: reassigning to symbol VIRTIO_PCI
.config:7398:warning: override: reassigning to symbol VIRTIO_MMIO
.config:7399:warning: override: reassigning to symbol NET
.config:7400:warning: override: reassigning to symbol NET_CORE

though it gives ~53 such msgs to stderr,
it just works, so I havent really looked under the hood,
at why those are warnings.
Rerunning gets the same warnings again,
so its not reflective of actual changes, just potential ones

Is there a way to do something like this ?
   make defconfig modconfig -DCONFIG_IKCONFIG=y
   make defconfig modconfig -from=./local-config-customizations

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-24 Thread Valdis Klētnieks
> On Fri, 24 Sep 2021 18:08:01 -0600, jim.cro...@gmail.com said:
>
> > grumble/
> > ive often wanted lsmod -b  to tell me that list.  or something like that.
> > maybe a different rc
>
> See CONFIG_ICONFIG and friends in init/Kconfig
>
> That will give you not just the module list, but the entire .config the 
> kernel was built with.

Or depending what problem you're trying to solve, /sys/module may be more 
useful.


pgpT8Td9MbEku.pgp
Description: PGP signature
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-24 Thread Valdis Klētnieks
On Fri, 24 Sep 2021 18:08:01 -0600, jim.cro...@gmail.com said:

> grumble/
> ive often wanted lsmod -b  to tell me that list.  or something like that.
> maybe a different rc

See CONFIG_ICONFIG and friends in init/Kconfig

That will give you not just the module list, but the entire .config the kernel 
was built with.


pgpgiEzlZWGF7.pgp
Description: PGP signature
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-24 Thread jim . cromie
On Thu, Sep 23, 2021 at 4:05 PM Valdis Klētnieks
 wrote:
>
> On Thu, 23 Sep 2021 18:39:22 +0200, Leon Gross said:
> > If got more of a general question: Is there a way to list all the
> > standard kernel modules that are included in a specific kernel version?
> > And I don't meant the currently running modules I could get via lsmod
> > but I mean all the modules that are supported by a specific kernel version.
> > Or can I even derive these myself from the source tree, without even
> > compiling the kernel (that would be very helpful)?
>
> One thing that you're overlooking is that many "modules" can be builtin
> to the kernel rather than modprobed at runtime.
>
> So it really depends what problem you're trying to solve by enumerating
> all the modules.
>

grumble/
ive often wanted lsmod -b  to tell me that list.  or something like that.
maybe a different rc

[jimc@samwise wk-next]$ grep -P \\bparams /proc/dynamic_debug/control
kernel/params.c:177 [params]parse_args =_ "doing %s, parsing ARGS: '%s'\012"
kernel/params.c:156 [params]parse_one =_ "Unknown argument '%s'\012"
kernel/params.c:152 [params]parse_one =_ "doing %s: %s='%s'\012"
kernel/params.c:139 [params]parse_one =_ "handling %s with %p\012"
[jimc@samwise wk-next]$ modprobe params
modprobe: FATAL: Module params not found in directory
/lib/modules/5.15.0-rc2-sept
[jimc@samwise wk-next]$ echo $?
1

I guess it comes down to whats in /proc/

[jimc@samwise wk-next]$ wc /proc/modules
133 798 7818 /proc/modules
[jimc@samwise wk-next]$ lsmod | wc
134 4716170

or is it (lsmod user prog) already scouring /sys/module (via lib Id presume)?
it seems that
/sys/modules/* minus col-1-of  /proc/modules
would tell builtins

just musing out loud...

> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-23 Thread Valdis Klētnieks
On Thu, 23 Sep 2021 18:39:22 +0200, Leon Gross said:
> If got more of a general question: Is there a way to list all the
> standard kernel modules that are included in a specific kernel version?
> And I don't meant the currently running modules I could get via lsmod
> but I mean all the modules that are supported by a specific kernel version.
> Or can I even derive these myself from the source tree, without even
> compiling the kernel (that would be very helpful)?

One thing that you're overlooking is that many "modules" can be builtin
to the kernel rather than modprobed at runtime.

So it really depends what problem you're trying to solve by enumerating
all the modules.



pgpLIC63AHfPS.pgp
Description: PGP signature
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-23 Thread Leon Gross




A:http://en.wikipedia.org/wiki/Top_post
Q: Were do I find info about this thing called top-posting?
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

A: No.
Q: Should I include quotations after my reply?

http://daringfireball.net/2007/07/on_top

Alright, nice annotation, thanks.


But how are you mapping a module "name" to what it does?
modprobe [modulename] , i thought that was how a module is mapped to a 
name? Or do you mean something different?



Why does that matter?


It matters because if I have a problem to solve and I know the kernel 
module that is required to do that (like nvme_tcp) then I can narrow 
down which kernel to use.



Do a 'make allmodconfig' build for every major release and sort the
output.  Should be pretty easy to script if you really need this.

That sounds like a way to go.

Thanks alot for your help!

Leon

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-23 Thread Leon Gross
The first thing I am interested in a complete list of all kernel modules 
of the x86 plattform for any kernel version.
The problem I want to solve is a generalized way to find out the kernel 
versions in which modules first were supported.


One exmaple is the `nvme_tcp` module. Trough testing on machines running 
different kernels and stackoverflow articles
I figured out that it might have been supported since kernel version 
5.x. I would like to have a way to verfiy such kind of

information for any given module.

Leon

On 9/23/2021 6:57 PM, Greg KH wrote:

On Thu, Sep 23, 2021 at 06:39:22PM +0200, Leon Gross wrote:

Hi everyone,

If got more of a general question: Is there a way to list all the standard
kernel modules that are included in a specific kernel version?

What do you mean by "standard" exactly?

What architecture?  What types of hardware do you feel are "standard"?


And I don't meant the currently running modules I could get via lsmod but I
mean all the modules that are supported by a specific kernel version.
Or can I even derive these myself from the source tree, without even
compiling the kernel (that would be very helpful)?

A random list of module names probably does not help much (hint, what
hardware does the module that is called "option.ko" support?")

What problem are you trying to solve here?

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


List of all available kernel modules per version

2021-09-23 Thread Leon Gross

Hi everyone,

If got more of a general question: Is there a way to list all the 
standard kernel modules that are included in a specific kernel version?
And I don't meant the currently running modules I could get via lsmod 
but I mean all the modules that are supported by a specific kernel version.
Or can I even derive these myself from the source tree, without even 
compiling the kernel (that would be very helpful)?


Thanks a lot in advance!


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-23 Thread Greg KH
On Thu, Sep 23, 2021 at 07:55:45PM +0200, Leon Gross wrote:
> 
> > A:http://en.wikipedia.org/wiki/Top_post
> > Q: Were do I find info about this thing called top-posting?
> > A: Because it messes up the order in which people normally read text.
> > Q: Why is top-posting such a bad thing?
> > A: Top-posting.
> > Q: What is the most annoying thing in e-mail?
> > 
> > A: No.
> > Q: Should I include quotations after my reply?
> > 
> > http://daringfireball.net/2007/07/on_top
> Alright, nice annotation, thanks.
> 
> > But how are you mapping a module "name" to what it does?
> modprobe [modulename] , i thought that was how a module is mapped to a name?
> Or do you mean something different?

I mean how do you know what a module named "option" does?  What does a
list of random module names show you?

> > Why does that matter?
> 
> It matters because if I have a problem to solve and I know the kernel module
> that is required to do that (like nvme_tcp) then I can narrow down which
> kernel to use.

Ok, that's different, so if you know a specific kernel module works for
a specific thing, then just look in the git tree for when that
module/driver was added to the tree.  No need to build all kernels to
find that out.

For example, to see where the nvme_tcp module was added, you can do:

$ git log --oneline drivers/nvme/host/tcp.c | tail -n 1
3f2304f8c6d6 nvme-tcp: add NVMe over TCP host driver
$ git describe --contains 3f2304f8c6d6
v5.0-rc1~52^2~57^2~20

So that showed up in the 5.0 kernel release.

Hope this helps,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-23 Thread Greg KH
A: http://en.wikipedia.org/wiki/Top_post
Q: Were do I find info about this thing called top-posting?
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

A: No.
Q: Should I include quotations after my reply?

http://daringfireball.net/2007/07/on_top

On Thu, Sep 23, 2021 at 07:32:40PM +0200, Leon Gross wrote:
> The first thing I am interested in a complete list of all kernel modules of
> the x86 plattform for any kernel version.

Which x86 platform?  There are many different ones.

> The problem I want to solve is a generalized way to find out the kernel
> versions in which modules first were supported.

But how are you mapping a module "name" to what it does?

Why does that matter?

> One exmaple is the `nvme_tcp` module. Trough testing on machines running
> different kernels and stackoverflow articles
> I figured out that it might have been supported since kernel version 5.x. I
> would like to have a way to verfiy such kind of
> information for any given module.

Do a 'make allmodconfig' build for every major release and sort the
output.  Should be pretty easy to script if you really need this.

Good luck!

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: List of all available kernel modules per version

2021-09-23 Thread Greg KH
On Thu, Sep 23, 2021 at 06:39:22PM +0200, Leon Gross wrote:
> Hi everyone,
> 
> If got more of a general question: Is there a way to list all the standard
> kernel modules that are included in a specific kernel version?

What do you mean by "standard" exactly?

What architecture?  What types of hardware do you feel are "standard"?

> And I don't meant the currently running modules I could get via lsmod but I
> mean all the modules that are supported by a specific kernel version.
> Or can I even derive these myself from the source tree, without even
> compiling the kernel (that would be very helpful)?

A random list of module names probably does not help much (hint, what
hardware does the module that is called "option.ko" support?")

What problem are you trying to solve here?

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies