我的DIY Android之旅--下載編譯並運行你的Android內核

     前一段時間一直在弄畢業論文和答辯的事情,還要急着趕回來上班,已經有一段時間沒有弄Android開發了,話不多說,在老羅前一篇文章提到,從源代碼樹下載下來的最新Android源代碼,是不包括內核代碼的,也就是Android源代碼工程默認不包含Linux Kernel代碼,而是使用預先編譯好的內核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。衆所周知,一個新的Android系統必須使用自己的Android內核,纔可以添加一些特有的功能,進行一些定製化的開發,那麼怎樣運行自己的Android內核呢?因爲谷歌官網上已經有可以下載到的Android內核源碼,還有就是三星和HTC也公佈了自己的Android內核源碼,讓開發者可以有更大權限開發一些特定的應用,本人愚見,這種策略對於三星和HTC也有很大的利益!

   因爲谷歌上有可以在模擬器中運行的goldfish Android內核源碼,用這個來學習DIY Android內核是非常好的選擇,我在學習過程中主要參考了老羅的Android之旅,具體參考如下:

參考文檔:http://blog.csdn.net/luoshengyang/article/details/6564592

另外我想說的是,任何知識都需要親自去嘗試,才能學得更牢!

一 ==下載Linux Kernel for Android源代碼。

      1. 使用GIT工具下載,執行以下命令:

      USER-NAME@MACHINE-NAME:~/Android$ mkdir kernel

      USER-NAME@MACHINE-NAME:~/Android$cd kernel
      USER-NAME@MACHINE-NAME:~/Android/kernel$git clone  http://android.googlesource.com/kernel/goldfish.git
      然後轉到剛纔同步的文件中,我同步之後只有一個goldfish目錄
     
     接着就是檢出能夠在Android模擬器中運行的Android內核源碼,cd goldfish ;接着git checkout remotes/origin/archive/android-gldfish-2.6.29
 
==編譯下載下來的Android內核源碼goldfish
1. 導出交叉編譯工具目錄到$PATH環境變量中去:
       USER-NAME@MACHINE-NAME:~/Android/kernel/common$export PATH=$PATH:~/Android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
     2. 修改common目錄下的Makefile文件的以下兩行爲:
      # ARCH ?= (SUBARCH)
      # CROSS_COMPILE?=
      ARCH ?= arm  #體系結構爲arm
      CROSS_COMPILE    ?= arm-eabi- #交叉編譯工具鏈前綴,參考~/Android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin目錄
     3. 開始編譯:
      USER-NAME@MACHINE-NAME:~/Android/kernel/common$make goldfish_defconfig
 
出現莫名錯誤,make: ***/root/build_kernel/linux-2.6.14.1/arch/arm Is a directory .Stop
網上查詢得知,原來是原來是因爲 ARCH ?= arm後面多了一個空格的緣故,我以爲是配置錯誤了!!!囧!!!
修改Makefile,把空格去掉,接着編譯
      USER-NAME@MACHINE-NAME:~/Android/kernel/common$make
成功編譯了!
==運行編譯成功的Android內核
emulator -kernel /home/hu/android-2.3/kernel/goldfish/arch/arm/boot/zImage
用adb shell 查看運行的內核信息
      顯示運行正是剛纔編譯成功的Android內核
接下來做的應該是在網上下載一個對應於自己的手機Android內核,然後編譯一下,下載到手機中用用,這才能正真感受到DIY Android內核的魅力!
附上小米論壇上一位機友編譯htc Android內核的圖文教程
http://www.miui.com/thread-683503-1-1.html,有htc手機的程序猿可以試試!!!
發佈了49 篇原創文章 · 獲贊 5 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章