[PATCH v5 6/8] kbuild: Allow adding modules into the FIT ramdisk
Thomas Weißschuh
thomas.weissschuh at linutronix.de
Mon Nov 17 00:30:35 PST 2025
On Fri, Nov 14, 2025 at 08:50:27PM +0100, Nicolas Schier wrote:
> On Fri, Nov 14, 2025 at 04:29:33PM +0100, Thomas Weißschuh wrote:
> > On Fri, Nov 14, 2025 at 07:27:32AM -0700, Simon Glass wrote:
(...)
> > > quiet_cmd_fit = FIT $@
> > > - cmd_fit = $(MAKE_FIT) -o $@ --arch $(UIMAGE_ARCH) --os linux \
> > > - --name '$(UIMAGE_NAME)' \
> > > + cmd_fit = $(if $(FIT_MODULES), \
> > > + find $(objtree) -name '*.ko' > $(objtree)/.modules-list 2>/dev/null &&) \
> >
> > This will include stale module files. You can get an up-to-date list from
> > $(objtree)/modules.order with a bit post-processing.
> > Maybe kbuild can be extended to also create a list of the .ko files.
> > (I would be interested in that for my own usecases, too)
>
> oh yes, thanks for the pointer. This is indeed quite simple and much
> better than calling find. For in-tree kmods:
>
> compiled-modules = $(patsubst %.o,%.ko,$(call read-file, $(objtree)/modules.order))
Tiny nitpick: IMO 'built' modules would be more accurate than 'compiled' modules.
> But as we need the list of modules in a file, we can also add a
> $(call write-file,FILE,TEXT) macro (cp. read-file in
> scripts/Kbuild.include).
> Thomas, is this sufficient for your use case? Or do you also need a
> make target outputting the list of kmods?
For my usecase I need it in a file [0], passing them on the command line will
likely run into argument list length limitations.
A new file 'modules.built' generated from modules.order would be useful both
for this patch, mine and other tools like scripts/package/builddeb.
(Or 'modules.loadable', matching the scheme from 'modules.builtin')
On the other hand the modules.order seems to have quite some special logic in
the Makefile, so it may not be straigtforward to add such a file.
[0] https://lore.kernel.org/lkml/20250429-module-hashes-v3-9-00e9258def9e@weissschuh.net/#Z31scripts:module-hashes.sh
Thomas
More information about the linux-arm-kernel
mailing list