No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop

最近由于工作项目移植,需要重新编译code,但是遇到如下问题:

 Control Group support (CGROUPS) [Y/n/?] y
 Example debug cgroup subsystem (CGROUP_DEBUG) [N/y/?] n
Freezer cgroup subsystem (CGROUP_FREEZER) [N/y/?] (NEW) aborted!
Console input/output is redirected. Run 'make oldconfig' to update configuration.
make[9]: *** [silentoldconfig] Error 1
make[8]: *** [silentoldconfig] Error 2
make[7]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
make[7]: Leaving directory `/qsdk/qca/src/linux-3.14'

在网上查看此错误,发现说是修改用户属性或者切换成root用户就可以了。
but我即使给整个项目最高权限和对应的属性依然没有解决此问题!切换成root用户也一样!
于是放弃网上的方法,自己研究,按照它提示的内容

Freezer cgroup subsystem (CGROUP_FREEZER) [N/y/?] (NEW) aborted!
Console input/output is redirected. Run 'make oldconfig' to update configuration.

很明显,它在编译Freezer cgroup subsystem模块的时候被打断了!
于是我去到linux-3.14下执行make oldconfig,然后手动选择编译模块,我全部选择YES,but还是报这个错误。
最后看到网上别人的资料说可能是内核的问题,觉得这是个方向,于是重新编译内核!

还是进入linux-3.14目录,执行make all编译内核
等待内核编译完成后,再重新make项目,就通过了!

具体代码可以查看Makefile文件,我的内核是linux-3.14目录下,所以查看的是linux-3.14的Makefile,也是查看这个Makefile之后才注意到内核在这里可以重新编译!于是简单粗暴的重新编译内核!

原因猜测:项目是直接移植过来的,环境目录等发生了变化,以前编译出来的内核可能依赖的是以前的环境,所以需要重新编译内核!

个人见解,如有错误,请多指教!

你可能感兴趣的:(Linux,内核kernel,Makefile)