[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210419230252.1583169-4-hpa@zytor.com>
Date: Mon, 19 Apr 2021 16:02:52 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>,
Borislav Petkov <bp@...en8.de>,
Andy Lutomirski <luto@...nel.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
Masahiro Yamada <masahiroy@...nel.org>,
Michal Marek <michal.lkml@...kovi.net>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Kbuild Mailing List <linux-kbuild@...r.kernel.org>,
"H. Peter Anvin (Intel)" <hpa@...or.com>
Subject: [PATCH v2 3/3] x86/boot: Add option to add modules.img to {fd,hd,iso}image
From: "H. Peter Anvin (Intel)" <hpa@...or.com>
Make it easy to generate a disk image which includes the all-modules
initramfs image.
Signed-off-by: H. Peter Anvin (Intel) <hpa@...or.com>
---
arch/x86/Makefile | 3 ++-
arch/x86/boot/Makefile | 20 ++++++++++++++++----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 943f26a32834..74f4e66568d7 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -309,7 +309,8 @@ define archhelp
echo ' isoimage - Create a boot CD-ROM image (arch/x86/boot/image.iso)'
echo ' bzdisk/fdimage*/hdimage/isoimage also accept:'
echo ' FDARGS="..." arguments for the booted kernel'
- echo ' FDINITRD=file initrd for the booted kernel'
+ echo ' FDINITRD=file initrd for the booted kernel'
+ echo ' FDMODS=1 to include all modules as an initrd'
echo ''
echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest'
echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest'
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index dfbc26a8e924..a4f8c66a63d0 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -116,11 +116,23 @@ $(obj)/compressed/vmlinux: FORCE
# Set this if you want to pass append arguments to the
# bzdisk/fdimage/hdimage/isoimage kernel
-FDARGS =
+FDARGS :=
# Set this if you want one or more initrds included in the image
-FDINITRD =
+FDINITRD :=
+# Set this to 1 if you want usr/modules.img included in the image
+FDMODS :=
-imgdeps = $(obj)/bzImage $(obj)/mtools.conf $(src)/genimage.sh
+imgdeps := $(obj)/bzImage $(obj)/mtools.conf $(src)/genimage.sh
+fdinitrds := $(FDINITRD)
+
+ifneq ($(FDMODS),)
+imgdeps += $(objtree)/usr/modules.img
+fdinitrds += $(objtree)/usr/modules.img
+
+$(objtree)/usr/modules.img:
+ $(Q)$(MAKE) -f $(srctree)/Makefile usr/modules.img
+KBUILD_MODULES := 1
+endif
$(obj)/mtools.conf: $(src)/mtools.conf.in
sed -e 's|@OBJ@|$(obj)|g' < $< > $@
@@ -131,7 +143,7 @@ targets += mtools.conf
# external dependencies.
quiet_cmd_genimage = GENIMAGE $3
cmd_genimage = $(BASH) $(srctree)/$(src)/genimage.sh $2 $3 $(obj)/bzImage \
- $(obj)/mtools.conf '$(FDARGS)' $(FDINITRD)
+ $(obj)/mtools.conf '$(FDARGS)' $(fdinitrds)
PHONY += bzdisk fdimage fdimage144 fdimage288 hdimage isoimage install
--
2.30.2
Powered by blists - more mailing lists