Android kernel 下載編譯筆記

下載編譯Android內核主要可參考:http://source.android.com/source/building-kernels.html

創建工作目錄後,在工作目錄下運行git命令下載指定版本內核:

$ mkdir yourworkdir

$ cd yourworkdir

$ git clone https://android.googlesource.com/kernel/goldfish.git

https連接有問題的話改用http連接試試,https是加密數據協議,在國內會被屏蔽,http是明文協議沒什麼問題。

$ git clone http://android.googlesource.com/kernel/goldfish.git

執行結果可能如下:

Cloning into 'goldfish'...
remote: Sending approximately 499.98 MiB ...
remote: Counting objects: 41057, done
remote: Finding sources: 100% (150/150)
remote: Getting sizes: 100% (72/72)
remote: Compressing objects: 100% (329412/329412)
remote: Total 2442792 (delta 2048923), reused 2442757 (delta 2048918)
Receiving objects: 100% (2442792/2442792), 499.75 MiB | 1.28 MiB/s, done.
Resolving deltas: 100% (2049089/2049089), done.


其他可以下載的版本列表如下:

設備名稱 二進制位置 源代碼位置 編譯配置文件
flo device/asus/flo-kernel/kernel kernel/msm flo_defconfig
deb device/asus/flo-kernel/kernel kernel/msm flo_defconfig
manta device/samsung/manta/kernel kernel/exynos manta_defconfig
mako device/lge/mako-kernel/kernel kernel/msm mako_defconfig
grouper device/asus/grouper/kernel kernel/tegra tegra3_android_defconfig
tilapia device/asus/grouper/kernel kernel/tegra tegra3_android_defconfig
maguro device/samsung/tuna/kernel kernel/omap tuna_defconfig
toro device/samsung/tuna/kernel kernel/omap tuna_defconfig
panda device/ti/panda/kernel kernel/omap panda_defconfig
stingray device/moto/wingray/kernel kernel/tegra stingray_defconfig
wingray device/moto/wingray/kernel kernel/tegra stingray_defconfig
crespo device/samsung/crespo/kernel kernel/samsung herring_defconfig
crespo4g device/samsung/crespo/kernel kernel/samsung herring_defconfig

完成後當前目錄下會出現goldfish目錄,進入goldfish目錄,運行git  branch -a命令,列出可抓取的分支版本,結果可能如下。

$ git  branch -a

* (no branch)
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/android-goldfish-2.6.29
  remotes/origin/android-goldfish-3.4
  remotes/origin/linux-goldfish-3.0-wip
  remotes/origin/master

運行git checkout

git checkout -b android-goldfish-2.6.29 /origin/android-goldfish-2.6.29

標記分支可以選用git branch -a命令獲得列表中的任何一個。


編譯之前,配置與編譯有關的環境變量,如果安裝過android SDK,可以在SDK目錄下指定gcc預編譯命令路徑

$ export PATH=$(pwd)/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin:$PATH

如果沒有安裝過,可以通過git下載一個

$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6

設置 ARCH,SUBARCH,CROSS_COMPILE。

$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-

編譯配置

$ make menuconfig

編譯

$ make




發佈了53 篇原創文章 · 獲贊 22 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章