1. 程式人生 > >No rule to make target `include/config/auto.conf', needed by `include/ config/kernel.release'. stop

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

硬體平臺:飛凌 imx6Q 四核

系統版本:Linux 3.0.35

開發平臺:ubuntu 12.04

雖然開發板出廠已經給了定製的核心映象,但是嵌入式產品總是要定製適合自己的核心版本。所有編譯核心是必須要完成的一步。

一、配置核心

#tar zxvf linux-3.0.35.tar.gz       
#cd linux-3.0.35
#export ARCH=arm
#export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-
#exportPATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin:$PATH
#make distclean
#cp arch/arm/configs/imx6_defconfig .config
完成以上的步驟已經完成核心的配置了,上面的步驟也沒有什麼問題出現

二、編譯核心

#make uImage

然後就出現如下問題了
make[2]: *** [silentoldconfig] Error 1  
make[1]: *** [silentoldconfig] Error 2  
make: *** No rule to make target `include/config/auto.conf', needed by `include/ config/kernel.release'.  Stop.
然後執行
sudo make uImage     
錯誤依然存在


解決辦法:

將每個檔案的所有者/組更改為imx6(自己的使用者名稱),-R將此更改應用於子目錄。

輸入以下命令:

#sudo chown -R imx6:imx6 .

然後就可以看到核心順利的編譯了。

 但是最後發現核心映象是編譯出來了,但是還有一些小錯誤。


解決辦法:

輸入一下命令:

#sudo apt-get install uboot mkimage

我使用的是12.04的ubuntu,如果使用unbuntu 9.10以上的版本,可以安裝mkimage包來解決這個問題。

然後直接make uImage 就行了