On 9/20/2019 6:52 PM, Bruce Dubbs via lfs-dev wrote:
On 9/20/19 6:46 PM, DJ Lucas via lfs-dev wrote:
In the book, we currently have the text "Install the modules, if the kernel configuration uses them:" - this is incorrect. All kernels use them, whether they are built-in or not, and this step is required to populate /lib/modules/$(uname -r)/modules.{builtin,dep,order,*}. This sentence should be changed, but I'm at a loss for the moment. Suggestions?

AFAIK, /lib/modules/ is not required if everything is built into the kernel.  I get:

$ lsmod
Module                  Size  Used by

I do have /lib/modules/, but I could rename it to test.

It is actually, specifically /lib/modules/$(uname -r)/modules.builtin. I personally was not aware of this functionality. Apparently, this is the method employed by modprobe not to fail if some userspace program needs a module that might be a builtin.

In my case, I'm fiddling with firewalld and hit this (not a) bug: https://github.com/firewalld/firewalld/issues/430

From '/usr/share/doc/linux-$(uname -r)/kbuild/kbuild.txt':

modules.order
--------------------------------------------------
This file records the order in which modules appear in Makefiles. This
is used by modprobe to deterministically resolve aliases that match
multiple modules.

modules.builtin
--------------------------------------------------
This file lists all modules that are built into the kernel. This is used
by modprobe to not fail when trying to load something builtin.

That said, I'm unsure what happens if you build a kernel without loadable modules support (of if this is even possible now days).

--DJ

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to