Every few months, I forget why I type: $ sudo make -j12 modules_install && sudo make -j12 install instead of just: $ sudo make -j12 modules_install install I try the latter, it appears to work, and then my machine won't boot because dracut got confused. This fixes it once and for all: if you ask make to install modules and a kernel, you almost certainly want the modules installed *first* so that your initramfs scripts can find the modules. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> --- arch/x86/Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/x86/Makefile b/arch/x86/Makefile index 33f71b0..7280d28 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -240,6 +240,15 @@ PHONY += install install: $(Q)$(MAKE) $(build)=$(boot) $@ +# If installing modules and a kernel, it's very likely that some initramfs +# script associated with installing the kernel will reference the modules, +# so make sure that modules are installed first. +ifneq ($(filter modules_install,$(MAKECMDGOALS)),) + ifneq ($(filter modules_install,$(MAKECMDGOALS)),) + install: modules_install + endif +endif + PHONY += vdso_install vdso_install: $(Q)$(MAKE) $(build)=arch/x86/vdso $@ -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html