From: Nicolas Schier <nicolas@fjasle.eu>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Ben Hutchings <ben@decadent.org.uk>,
linux-snps-arc@lists.infradead.org,
Josh Triplett <josh@joshtriplett.org>
Subject: Re: [PATCH] kbuild: make modules_install copy modules.builtin(.modinfo)
Date: Mon, 19 Jun 2023 14:34:19 +0200 [thread overview]
Message-ID: <ZJBLS+Dzcj5wOJTb@fjasle.eu> (raw)
In-Reply-To: <20230615111743.883891-1-masahiroy@kernel.org>
On Thu, Jun 15, 2023 at 08:17:43PM +0900 Masahiro Yamada wrote:
> Josh Triplett reports that initramfs-tools needs modules.builtin and
> modules.builtin.modinfo to create a working initramfs for a non-modular
> kernel.
>
> If this is a general tooling issue not limited to Debian, I think it
> makes sense to change modules_install.
>
> This commit changes the targets as follows when CONFIG_MODULES=n.
>
> In-tree builds:
> make modules -> no-op
> make modules_install -> install modules.builtin(.modinfo)
>
> External module builds:
> make modules -> show error message like before
> make modules_install -> show error message like before
>
> Link: https://lore.kernel.org/lkml/36a4014c73a52af27d930d3ca31d362b60f4461c.1686356364.git.josh@joshtriplett.org/
> Reported-by: Josh Triplett <josh@joshtriplett.org>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Tested-by: Nicolas Schier <nicolas@fjasle.eu>
> Makefile | 26 ++++++++++++++++----------
> 1 file changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index cc3fe09c4dec..f18d59c81241 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1545,6 +1545,8 @@ modules_sign_only := y
> endif
> endif
>
> +endif # CONFIG_MODULES
> +
> modinst_pre :=
> ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
> modinst_pre := __modinst_pre
> @@ -1555,18 +1557,18 @@ PHONY += __modinst_pre
> __modinst_pre:
> @rm -rf $(MODLIB)/kernel
> @rm -f $(MODLIB)/source
> - @mkdir -p $(MODLIB)/kernel
> + @mkdir -p $(MODLIB)
> +ifdef CONFIG_MODULES
> @ln -s $(abspath $(srctree)) $(MODLIB)/source
> @if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
> rm -f $(MODLIB)/build ; \
> ln -s $(CURDIR) $(MODLIB)/build ; \
> fi
> @sed 's:^\(.*\)\.o$$:kernel/\1.ko:' modules.order > $(MODLIB)/modules.order
> +endif
> @cp -f modules.builtin $(MODLIB)/
> @cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
>
> -endif # CONFIG_MODULES
> -
> ###
> # Cleaning is done on three levels.
> # make clean Delete most generated files
> @@ -1908,6 +1910,13 @@ help:
> @echo ' clean - remove generated files in module directory only'
> @echo ''
>
> +__external_modules_error:
> + @echo >&2 '***'
> + @echo >&2 '*** The present kernel disabled CONFIG_MODULES.'
> + @echo >&2 '*** You cannot build or install external modules.'
> + @echo >&2 '***'
> + @false
> +
> endif # KBUILD_EXTMOD
>
> # ---------------------------------------------------------------------------
> @@ -1944,13 +1953,10 @@ else # CONFIG_MODULES
> # Modules not configured
> # ---------------------------------------------------------------------------
>
> -modules modules_install:
> - @echo >&2 '***'
> - @echo >&2 '*** The present kernel configuration has modules disabled.'
> - @echo >&2 '*** To use the module feature, please run "make menuconfig" etc.'
> - @echo >&2 '*** to enable CONFIG_MODULES.'
> - @echo >&2 '***'
> - @exit 1
> +PHONY += __external_modules_error
> +
> +modules modules_install: __external_modules_error
> + @:
>
> KBUILD_MODULES :=
>
> --
> 2.39.2
--
epost|xmpp: nicolas@fjasle.eu irc://oftc.net/nsc
↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f
-- frykten for herren er opphav til kunnskap --
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Schier <nicolas@fjasle.eu>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Ben Hutchings <ben@decadent.org.uk>,
linux-snps-arc@lists.infradead.org,
Josh Triplett <josh@joshtriplett.org>
Subject: Re: [PATCH] kbuild: make modules_install copy modules.builtin(.modinfo)
Date: Mon, 19 Jun 2023 14:34:19 +0200 [thread overview]
Message-ID: <ZJBLS+Dzcj5wOJTb@fjasle.eu> (raw)
In-Reply-To: <20230615111743.883891-1-masahiroy@kernel.org>
On Thu, Jun 15, 2023 at 08:17:43PM +0900 Masahiro Yamada wrote:
> Josh Triplett reports that initramfs-tools needs modules.builtin and
> modules.builtin.modinfo to create a working initramfs for a non-modular
> kernel.
>
> If this is a general tooling issue not limited to Debian, I think it
> makes sense to change modules_install.
>
> This commit changes the targets as follows when CONFIG_MODULES=n.
>
> In-tree builds:
> make modules -> no-op
> make modules_install -> install modules.builtin(.modinfo)
>
> External module builds:
> make modules -> show error message like before
> make modules_install -> show error message like before
>
> Link: https://lore.kernel.org/lkml/36a4014c73a52af27d930d3ca31d362b60f4461c.1686356364.git.josh@joshtriplett.org/
> Reported-by: Josh Triplett <josh@joshtriplett.org>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Tested-by: Nicolas Schier <nicolas@fjasle.eu>
> Makefile | 26 ++++++++++++++++----------
> 1 file changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index cc3fe09c4dec..f18d59c81241 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1545,6 +1545,8 @@ modules_sign_only := y
> endif
> endif
>
> +endif # CONFIG_MODULES
> +
> modinst_pre :=
> ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
> modinst_pre := __modinst_pre
> @@ -1555,18 +1557,18 @@ PHONY += __modinst_pre
> __modinst_pre:
> @rm -rf $(MODLIB)/kernel
> @rm -f $(MODLIB)/source
> - @mkdir -p $(MODLIB)/kernel
> + @mkdir -p $(MODLIB)
> +ifdef CONFIG_MODULES
> @ln -s $(abspath $(srctree)) $(MODLIB)/source
> @if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
> rm -f $(MODLIB)/build ; \
> ln -s $(CURDIR) $(MODLIB)/build ; \
> fi
> @sed 's:^\(.*\)\.o$$:kernel/\1.ko:' modules.order > $(MODLIB)/modules.order
> +endif
> @cp -f modules.builtin $(MODLIB)/
> @cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
>
> -endif # CONFIG_MODULES
> -
> ###
> # Cleaning is done on three levels.
> # make clean Delete most generated files
> @@ -1908,6 +1910,13 @@ help:
> @echo ' clean - remove generated files in module directory only'
> @echo ''
>
> +__external_modules_error:
> + @echo >&2 '***'
> + @echo >&2 '*** The present kernel disabled CONFIG_MODULES.'
> + @echo >&2 '*** You cannot build or install external modules.'
> + @echo >&2 '***'
> + @false
> +
> endif # KBUILD_EXTMOD
>
> # ---------------------------------------------------------------------------
> @@ -1944,13 +1953,10 @@ else # CONFIG_MODULES
> # Modules not configured
> # ---------------------------------------------------------------------------
>
> -modules modules_install:
> - @echo >&2 '***'
> - @echo >&2 '*** The present kernel configuration has modules disabled.'
> - @echo >&2 '*** To use the module feature, please run "make menuconfig" etc.'
> - @echo >&2 '*** to enable CONFIG_MODULES.'
> - @echo >&2 '***'
> - @exit 1
> +PHONY += __external_modules_error
> +
> +modules modules_install: __external_modules_error
> + @:
>
> KBUILD_MODULES :=
>
> --
> 2.39.2
--
epost|xmpp: nicolas@fjasle.eu irc://oftc.net/nsc
↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f
-- frykten for herren er opphav til kunnskap --
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
next prev parent reply other threads:[~2023-06-19 12:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-15 11:17 [PATCH] kbuild: make modules_install copy modules.builtin(.modinfo) Masahiro Yamada
2023-06-15 11:17 ` Masahiro Yamada
2023-06-19 12:34 ` Nicolas Schier [this message]
2023-06-19 12:34 ` Nicolas Schier
2023-06-22 19:11 ` Josh Triplett
2023-06-22 19:11 ` Josh Triplett
2023-06-22 19:19 ` [PATCH] kbuild: builddeb: always make modules_install, to install modules.builtin* Josh Triplett
2023-06-22 19:19 ` Josh Triplett
2023-06-23 20:55 ` Nicolas Schier
2023-06-23 20:55 ` Nicolas Schier
2023-06-25 18:24 ` Masahiro Yamada
2023-06-25 18:24 ` Masahiro Yamada
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=ZJBLS+Dzcj5wOJTb@fjasle.eu \
--to=nicolas@fjasle.eu \
--cc=ben@decadent.org.uk \
--cc=josh@joshtriplett.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@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.