【FAQ】全志R329如何解决Tina删除内核根目录.config后一直编译失败的问题?
- 
					
					
					
					
 问题描述 客户删除Tina内核根目录下的.config文件后,按照正常流程编译会失败,log如下,提示找不到内核根目录下的.config文件。 make[4]: *** No rule to make target `/home/XXX/work/tina/out/rxxx-evb1/compile_dir/target/linux-rxxx-evb1/linux-x.x.x/.config', needed by `/home/XXX/work/tina/out/rxxx-evb1/compile_dir/target/linux-rxxx-evb1/linux-x.x.x/.modules'. Stop. make[4]: Leaving directory `/home/XXX/work/tina/target/allwinner/rxxx-evb1' make[3]: *** [compile] Error 2 make[3]: Leaving directory `/home/XXX/work/tina/target/allwinner' make[2]: *** [target/allwinner/compile] Error 2 make[2]: Leaving directory `/home/XXX/work/tina' make[1]: *** [/home/XXX/work/tina/out/rxxx-evb1/staging_dir/target/stamp/.target_compile] Error 2 make[1]: Leaving directory `/home/XXX/work/tina' Build failed - please re-run with -j1 to see the real error message客户尝试重新source/lunch、make kernel_menuconfig等操作,均编译失败,导致不能恢复。 问题简述 AW向客户提供longon、Tina等多套SDK,客户可能延续其他SDK的开发习惯,删除内核.config,其他SDK编译时会自动生成,目前Tina不会,因此导致上述问题。 问题分析 log提示找不到内核.config文件,Tina下生成内核.config操作位于tina/build/kernel-defaults.mk文件中的Kernel/Configure/Default定义下。 其主要逻辑如下: - 根据tina的defconfig、内核的linux-x.x配置等一起在内核根目录下生成.config.set文件
- 比较内核根目录下.config.set与.config.prev文件,如果相同,不进行任何操作;如果不同,将.config.set复制为.config,同时将.config.set复制为.config.prev
 如果重新source/lunch,不做任何改动,生成的.config.set与上次保存的配置.config.prev是一样的,因此不会重新生成.config文件。 同理如果执行make kernel_menuconfig,不修改配置,生成的.config.set依旧与上次保存的.config.prev一致,也不会重新生成.config文件。 解决办法 根据.config的生成逻辑,可以有多种处理办法。 - 方法一:删除内核根目录下的.config.prev。当然删除tina/out目录也行,其作用相当于删除.config.prev
- 方法二:执行make kernel_menuconfig,修改一些配置,保存。目的是确保.config.set与.config.prev不同,重新生成.config
- 方法三:使用附件补丁0001-kernel-defaults-cp-.config.set-to-.config-when-there.patch,该补丁作用是,如果.config不存在,将.config.set复制为.config
 
- 
				Referenced by q1215200171 q1215200171
- 
				Referenced by q1215200171 q1215200171
- 
				Referenced by q1215200171 q1215200171
- 
				Referenced by q1215200171 q1215200171
- 
				Referenced by q1215200171 q1215200171
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号