Android核心源碼交叉編譯

來源:互聯網
上載者:User

一、使用git下載android核心部分源碼

首先建立要儲存android核心源碼的目錄

mkdir
android_kernel

cd
android_kernel

android
kernel的網站http://android.git.kernel.org/

git
clone git://android.git.kernel.org/kernel/common.git

下載android核心源碼,完成之後會看到common目錄,核心的源碼就算下載完成了

如果想下載某一核心的版本,可以使用下面幾個命令:

git
branch -a// 顯示所有的分支

git
branch -r // 顯示romote端的分支

git
checkout // 檢出某一分支

二、設定交叉編譯環境

交叉編譯的環境在android源碼已經存在,源碼的下載可以參考《下載編譯android源碼》。在源碼目錄的android_source/prebuilt/linux-x86/toolchain/,可以看到多個交叉編譯的工具

mac@mac-desktop:~/works/android_dev/prebuilt/linux-x86/toolchain$
ls -all

總用量 44

drwxr-xr-x 9 mac mac 4096
2011-08-28 15:16 arm-eabi-4.2.1

drwxr-xr-x 9 mac mac 4096
2011-08-28 15:16 arm-eabi-4.3.1

drwxr-xr-x 10 mac mac 4096
2011-08-28 15:16 arm-eabi-4.4.0

drwxr-xr-x 10 mac mac 4096
2011-08-28 15:16 arm-eabi-4.4.3

drwxr-xr-x 10 mac mac 4096
2011-08-28 15:16 arm-linux-androideabi-4.4.x

drwxr-xr-x 6 mac mac 4096
2011-08-28 15:16 i686-android-linux-4.4.3

drwxr-xr-x 8 mac mac 4096
2011-08-28 15:17 i686-linux-glibc2.7-4.4.3

drwxr-xr-x 10 mac mac 4096
2011-08-28 15:17 i686-unknown-linux-gnu-4.2.1

drwxr-xr-x 6 mac mac 4096
2011-08-28 15:17 sh-4.3.3

一般使用最新版本。

三、配置編譯時間的config檔案

因為編譯的鏡像是要刷到模擬器啟動並執行,模擬器的處理器架構是基於goldfish,所以需要下載有關goldfish的config檔案。下載方法:

mac@mac-desktop:~/works/kernel-2.6.29$
git branch -a

* (no branch)

android-2.6.29

android-2.6.36

remotes/origin/HEAD ->
origin/android-2.6.36

remotes/origin/android-2.6.35

remotes/origin/android-2.6.36

remotes/origin/android-2.6.37

remotes/origin/android-2.6.38

remotes/origin/android-2.6.39

remotes/origin/android-3.0

remotes/origin/archive/android-2.6.25

remotes/origin/archive/android-2.6.27

remotes/origin/archive/android-2.6.29

remotes/origin/archive/android-2.6.32

remotes/origin/archive/android-gldfish-2.6.29

remotes/origin/archive/android-goldfish-2.6.27

remotes/origin/linux-bcm43xx-2.6.39

remotes/origin/linux-wl12xx-2.6.39

下載remotes/origin/archive/android-gldfish-2.6.29
版本:

git
checkout origin/archive/android-gldfish-2.6.29

然後就可以到arch/arm/configs下看到goldfish_defconfig這個檔案了。

把goldfish_defconfig檔案拷貝到android_kernel目錄,並重新命名為.config

四、make編譯

首先設定環境:

export
PATH=$PATH:~/android_source/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin

然後修改Makefile:

ARCH =
arm #體繫結構為arm

CROSS_COMPILE
= arm-eabi- #交叉編譯工具鏈首碼,參考/toolchain/arm-eabi-4.4.3/bin

然後就可以make編譯了,編譯過程中會連續提示yes/not,能看懂的多注意幾眼,看不懂的一路狂按Enter,最後如果前面的設定正確,編譯完整後會看到下面的提示:

OBJCOPY
arch/arm/boot/zImage

Kernel:
arch/arm/boot/zImage is ready

五、編譯得到zImage,用新核心啟動模擬器

./emulator
-avd android2.1 -kernel ~/kernel-2.6.29/arch/arm/boot/zImage

在模擬器上查看系統資訊:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.