Re: [PATCH v5 6/8] kbuild: Allow adding modules into the FIT ramdisk
From: Thomas Weißschuh <hidden>
Date: 2025-11-17 08:30:37
Also in:
linux-kbuild, lkml
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:quoted
On Fri, Nov 14, 2025 at 07:27:32AM -0700, Simon Glass wrote:
(...)
quoted
quoted
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 (local) Thomas