问题描述如下:
Building modules, stage 2.
MODPOST 1 modules
/bin/sh: scripts/mod/modpost: No such file or directory
make[6]: *** [__modpost] Error 127
make[5]: *** [modules] Error 2
就是scripts/mod/modpost这个文件不存在,ls一看内核下面确实没有生成这个东西。
接下来就该想,这个东西是怎么生成的,为什么没有?这样你就会找到原因,修改后,得到你想要的结果。
我的情况是:
这个modpost是在make linux的时候生成的。
PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
@echo ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild
在最外层的makefile中,linux在我调用modpost的时候还没有make,所以就提示找到不文件。
改动方法很那个啥,调换了linux的make顺序。