android內核編譯,終於ok了,總結之

編譯android內核



1.準備工作: (ubuntu1110 32位)

推薦使用ubuntu等linuxOS,下載好eclipse,安裝好JDK, 安裝好android的SDK(http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/installing.html 有詳細官方介紹), 在eclipse中成功打開android 手機模擬器即OK。


2.初始化編譯環境 :

http://source.android.com/source/initializing.html   ,關注該網頁上的“installing required packages”,其中有的軟件包因爲版本問題而安裝不上,不用管它,之後遇到錯誤再單獨解決。


3.下載內核源碼

http://source.android.com/source/building-kernels.html 

android 2.3 內核 下載      $ git clone https://android.googlesource.com/kernel/goldfish.git   需要等待一段時間。


4.下載交叉編譯器:

按照上面網頁中的說法是下載:

$ git clone https://android.googlesource.com/platform/prebuilt

下載完後記得:

$ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

(該步驟有可能耗費大量時間,依據網速不同,幾個小時到幾天不等,或許可以嘗試git clone 後面的地址只下載prebuilt/linux-x86/toolchain,那樣就需要下載的東西很少了,此方法我還沒有嘗試;或者跳過該步驟參考第6點)




5.設置參數以及編譯:

$ export ARCH=arm

$ export SUBARCH=arm

$ export CROSS_COMPILE=arm-eabi-

$ cd goldfish  // 進入下載的源代碼目錄

$ git checkout <commit_from_first_step>   //這個步驟我沒有做,不知道幹嘛用的

$ make goldfish_defconfig  

$ make



6.報錯信息:

若有報錯說找不到 (arm-eabi-gcc command not found)等等,嘗試使用http://blog.csdn.net/davidbeckham2901/article/details/7397447 中說到的解決方案即可(即採用另外一個交叉編譯器)。



7.測試:


最後,測試一下剛纔編譯的內核:

emulator -avd myavd -kernel ~/goldfish/arch/arm/boot/zImage

emulator若系統找不到,可以去android SDK中某文件夾找到,加入系統PATH即可。   -avd後面的參數 myavd即爲模擬器的名字,這個我是在eclipse中的模擬器管理中新建的一個模擬器,用那個模擬器的名字即可。   -kernel後面的參數就找到剛纔編譯出的內核的路徑。

若啓動模擬器失敗,可嘗試關閉後再啓動。第一次啓動模擬器時可能需要等待比較長的時間,3分鐘到15分鐘不等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章