From: "H. Peter Anvin (Intel)" <hpa@xxxxxxxxx> Make it easy to generate a disk image which includes the all-modules initramfs image. Signed-off-by: H. Peter Anvin (Intel) <hpa@xxxxxxxxx> --- 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