From: Nicolas Schier <nsc@kernel.org>
To: "Thomas Weißschuh" <thomas.weissschuh@linutronix.de>
Cc: "Simon Glass" <sjg@chromium.org>,
linux-arm-kernel@lists.infradead.org,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Tom Rini" <trini@konsulko.com>,
"Ahmad Fatoum" <a.fatoum@pengutronix.de>,
"J . Neuschäfer" <j.ne@posteo.net>,
"Chen-Yu Tsai" <wenst@chromium.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Ard Biesheuvel" <ardb@kernel.org>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Josh Poimboeuf" <jpoimboe@kernel.org>,
"Kees Cook" <kees@kernel.org>, "Miguel Ojeda" <ojeda@kernel.org>,
"Rong Xu" <xur@google.com>, "Tamir Duberstein" <tamird@gmail.com>,
"Will Deacon" <will@kernel.org>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 6/8] kbuild: Allow adding modules into the FIT ramdisk
Date: Thu, 20 Nov 2025 21:09:15 +0100 [thread overview]
Message-ID: <aR91a-VK_YuGd44g@levanger> (raw)
In-Reply-To: <20251120084201-53a3c98f-6a3c-4116-8635-be67d58fd57b@linutronix.de>
On Thu, Nov 20, 2025 at 08:49:14AM +0100, Thomas Weißschuh wrote:
> On Wed, Nov 19, 2025 at 11:13:27AM -0700, Simon Glass wrote:
> > Support 'make image.fit FIT_MODULES=1' to put all the modules into a
> > ramdisk image within the FIT.
> >
> > Add image.fit as a target which requires modules, so that modules will
> > built automatically when using FIT_MODULES is not empty.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > Suggested-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> > Suggested-by: Reviewed-by: Nicolas Schier <nsc@kernel.org>
> > Acked-by: Nathan Chancellor <nathan@kernel.org>
> > ---
> >
> > Changes in v6:
> > - Mention that FIT_MODULES just needs to be non-empty
> > - Make use of modules.order instead of using 'find'
> >
> > Changes in v5:
> > - Build modules automatically if needed (fix from Nicolas Schier)
> >
> > Changes in v4:
> > - Rename the Makefile variable from 'EXTRA' to 'MAKE_FIT_FLAGS'
> > - Use an empty FIT_MODULES to disable the feature, instead of '0'
> > - Make use of the 'modules' dependency to ensure modules are built
> > - Pass the list of modules to the script
> >
> > Makefile | 1 +
> > arch/arm64/Makefile | 1 +
> > scripts/Makefile.lib | 6 +++++-
> > 3 files changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/Makefile b/Makefile
> > index 8cd46222fc48..4eccaef95826 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -773,6 +773,7 @@ endif
> > # Just "make" or "make all" shall build modules as well
> >
> > modules-targets := all
> > +modules-targets += $(if $(FIT_MODULES),image.fit)
> > modules-targets += modules
> > modules-targets += nsdeps
> > modules-targets += compile_commands.json
> > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
> > index 73a10f65ce8b..7036f251ab40 100644
> > --- a/arch/arm64/Makefile
> > +++ b/arch/arm64/Makefile
> > @@ -174,6 +174,7 @@ endif
> > all: $(notdir $(KBUILD_IMAGE))
> >
> > image.fit: dtbs
> > +image.fit: $(if $(FIT_MODULES),modules)
> >
> > vmlinuz.efi image.fit: Image
> > $(BOOT_TARGETS): vmlinux
> > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> > index 1d581ba5df66..28e0cc0865b1 100644
> > --- a/scripts/Makefile.lib
> > +++ b/scripts/Makefile.lib
> > @@ -398,11 +398,15 @@ MAKE_FIT := $(srctree)/scripts/make_fit.py
> > # Use this to override the compression algorithm
> > FIT_COMPRESSION ?= gzip
> >
> > +# Set this to non-empty to include an initrd with all the kernel modules
> > +FIT_MODULES ?=
> > +
> > quiet_cmd_fit = FIT $@
> > cmd_fit = $(MAKE_FIT) -o $@ --arch $(UIMAGE_ARCH) --os linux \
> > - --name '$(UIMAGE_NAME)' \
> > + --name '$(UIMAGE_NAME)' $(MAKE_FIT_FLAGS) \
>
> Remnant of a previous revision?
>
> > $(if $(findstring 1,$(KBUILD_VERBOSE)),-v) \
> > $(if $(FIT_DECOMPOSE_DTBS),--decompose-dtbs) \
> > + $(if $(FIT_MODULES),--modules @$(objtree)/modules.order) \
>
> I am wondering how module dependencies work without the depmod invocation
> and modules.dep file.
oh, good point. Stripping and signing and module compression is also
done during 'modules_install'.
--
Nicolas
next prev parent reply other threads:[~2025-11-20 20:11 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-19 18:13 [PATCH v6 0/8] scripts/make_fit: Support ramdisks and faster operations Simon Glass
2025-11-19 18:13 ` [PATCH v6 1/8] scripts/make_fit: Speed up operation Simon Glass
2025-11-26 9:24 ` Ahmad Fatoum
2025-12-02 10:28 ` Chen-Yu Tsai
2025-11-19 18:13 ` [PATCH v6 2/8] scripts/make_fit: Support an initial ramdisk Simon Glass
2025-11-26 10:56 ` Ahmad Fatoum
2025-11-19 18:13 ` [PATCH v6 3/8] scripts/make_fit: Move dtb processing into a function Simon Glass
2025-11-26 11:01 ` Ahmad Fatoum
2025-12-02 10:54 ` Chen-Yu Tsai
2025-11-19 18:13 ` [PATCH v6 4/8] scripts/make_fit: Provide a way to add built modules Simon Glass
2025-11-26 11:09 ` Ahmad Fatoum
2025-12-11 13:20 ` Simon Glass
2025-11-19 18:13 ` [PATCH v6 5/8] kbuild: Split out module targets into a variable Simon Glass
2025-11-19 20:20 ` Nicolas Schier
2025-11-26 11:10 ` Ahmad Fatoum
2025-11-19 18:13 ` [PATCH v6 6/8] kbuild: Allow adding modules into the FIT ramdisk Simon Glass
2025-11-19 20:20 ` Nicolas Schier
2025-11-20 7:49 ` Thomas Weißschuh
2025-11-20 20:09 ` Nicolas Schier [this message]
2025-11-25 21:58 ` Simon Glass
2025-11-26 7:16 ` Thomas Weißschuh
2025-11-26 11:26 ` Ahmad Fatoum
2025-12-02 10:31 ` Thomas Weißschuh
2025-12-11 13:31 ` Simon Glass
2025-12-11 13:49 ` Ahmad Fatoum
2025-11-19 18:13 ` [PATCH v6 7/8] scripts/make_fit: Support a few more parallel compressors Simon Glass
2025-12-02 10:17 ` Chen-Yu Tsai
2025-12-11 13:29 ` Simon Glass
2025-11-19 18:13 ` [PATCH v6 8/8] scripts/make_fit: Compress dtbs in parallel Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aR91a-VK_YuGd44g@levanger \
--to=nsc@kernel.org \
--cc=a.fatoum@pengutronix.de \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=j.ne@posteo.net \
--cc=jpoimboe@kernel.org \
--cc=kees@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=ojeda@kernel.org \
--cc=sjg@chromium.org \
--cc=tamird@gmail.com \
--cc=thomas.weissschuh@linutronix.de \
--cc=trini@konsulko.com \
--cc=wenst@chromium.org \
--cc=will@kernel.org \
--cc=xur@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.