<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[【FAQ】全志R329如何解决Tina删除内核根目录.config后一直编译失败的问题？]]></title><description><![CDATA[<p dir="auto"><strong>问题描述</strong></p>
<p dir="auto">客户删除Tina内核根目录下的.config文件后，按照正常流程编译会失败，log如下，提示找不到内核根目录下的.config文件。</p>
<pre><code>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
</code></pre>
<p dir="auto">客户尝试重新source/lunch、make kernel_menuconfig等操作，均编译失败，导致不能恢复。</p>
<p dir="auto"><strong>问题简述</strong></p>
<p dir="auto">AW向客户提供longon、Tina等多套SDK，客户可能延续其他SDK的开发习惯，删除内核.config，其他SDK编译时会自动生成，目前Tina不会，因此导致上述问题。</p>
<p dir="auto"><strong>问题分析</strong></p>
<p dir="auto">log提示找不到内核.config文件，Tina下生成内核.config操作位于tina/build/kernel-defaults.mk文件中的Kernel/Configure/Default定义下。</p>
<p dir="auto">其主要逻辑如下：</p>
<ul>
<li>根据tina的defconfig、内核的linux-x.x配置等一起在内核根目录下生成.config.set文件</li>
<li>比较内核根目录下.config.set与.config.prev文件，如果相同，不进行任何操作；如果不同，将.config.set复制为.config，同时将.config.set复制为.config.prev</li>
</ul>
<p dir="auto">如果重新source/lunch，不做任何改动，生成的.config.set与上次保存的配置.config.prev是一样的，因此不会重新生成.config文件。</p>
<p dir="auto">同理如果执行make kernel_menuconfig，不修改配置，生成的.config.set依旧与上次保存的.config.prev一致，也不会重新生成.config文件。</p>
<p dir="auto"><strong>解决办法</strong></p>
<p dir="auto">根据.config的生成逻辑，可以有多种处理办法。</p>
<ul>
<li>方法一：删除内核根目录下的.config.prev。当然删除tina/out目录也行，其作用相当于删除.config.prev</li>
<li>方法二：执行make kernel_menuconfig，修改一些配置，保存。目的是确保.config.set与.config.prev不同，重新生成.config</li>
<li>方法三：使用附件补丁0001-kernel-defaults-cp-.config.set-to-.config-when-there.patch，该补丁作用是，如果.config不存在，将.config.set复制为.config</li>
</ul>
]]></description><link>https://bbs.aw-ol.com/topic/620/faq-全志r329如何解决tina删除内核根目录-config后一直编译失败的问题</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 20:19:12 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/620.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Nov 2021 06:34:29 GMT</pubDate><ttl>60</ttl></channel></rss>