編譯Linaro的Android核心有感

來源:互聯網
上載者:User

  這段時間在折騰android的ril層開發,所以一切都要從頭做起。之前用前輩的編譯指令碼,勉強編譯過去了,但是後來出現燒到板子上卻起不來。於是今天嘗試著自己用Linaro網站上的方法自己從頭開始編譯padaboard的android鏡像。

  一開始遇到了一些問題,比如menuconfig,依照以往編譯kernel的經驗,都是自己配置menuconfig,而linaro卻給我提供了他們做好的.config檔案,所以,按照官網的辦法,是用CP指令把他們給的.config檔案拷貝到目錄裡,比如kernel/out裡面。而編譯指令也要有講究,注意ARCH=arm和O=out。

  編譯中遇到了以下幾個問題,稍作記錄:

  (1)說找不到.config檔案,原因是前面講的,我們應該linaro提供的config檔案拷貝到我們的"O="裡面的檔案夾中,比如我的out。

  (2)編譯檔案夾不夠乾淨(clean),要求我們運行make mrproper來進行clean操作,這個時候運行它卻報錯,說找不到bcm80211這個檔案。這個時候,我們應該嘗試把kernel/drivers/net/wireless/makefile中的obj-$(CONFIG_BCM4329)  += bcm80211/ 修改為obj-$(CONFIG_BCM4329)  += brcm80211/,然後再去clean,clean完記得改回來。(反正後來config檔案也指定了不編譯它,不改應該也沒問題)

  (3)需要指定CROSS_COMPLIE來進行make,也就是交叉編譯工具,因為只有在ubuntu10.10以上才有arm-linux-gnueabi-gcc這個玩意兒,所以要使用官方的指令碼還是會出現一些編譯錯誤的,於是我參照官網的一個編譯核心的網頁,進行手動設定。

   參考網址:https://wiki.linaro.org/Platform/Android/JustWorkOnTheKernel

  (4)在編譯過程中,gcc報了一個bug,大致內容是write_cache_pages的錯誤,我在網上找到了一些解決辦法,貼下來:

   參考網址:http://blog.csdn.net/sustzombie/article/details/6107079和http://blog.chinaunix.net/uid-20564848-id-74802.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.