上一篇已建立並編譯 Android Source Tree ,這篇記錄 Android Kernel 的編譯
上篇提到的 Android Source Tree 並不包含 Kernel 的部分,因此當你想對 Kernel 作修改時 必須另外下載 Kernel 的部分
這篇也是照著 Google 提示的操作
先掛載 android.dmg 並移動到之前建立的 android 資料夾中,建立新資料夾(Android_KERNEL)以放置 Kernel 原始碼,如果想針對不同廠商核心編譯可以再建立方便識別的資料夾(panda)
使用 git 下載 Kernel

git clone https://android.googlesource.com/device/ti/panda

移動到 panda資料夾

cd panda

取得 commit message

git log --max-count=1 kernel

出現的訊息會類似下圖,我們需要的部分是 Built from kernel 後面那一串訊息
(cb5fc502c60be9305c5a007be335e860d9e7c0cb)

下載想編譯的kernel ,以google的例子下載 omap

git clone https://android.googlesource.com/kernel/common.git
git clone https://android.googlesource.com/kernel/exynos.git
git clone https://android.googlesource.com/kernel/goldfish.git
git clone https://android.googlesource.com/kernel/msm.git
git clone https://android.googlesource.com/kernel/omap.git
git clone https://android.googlesource.com/kernel/samsung.git
git clone https://android.googlesource.com/kernel/tegra.git

 
確認prebuilts-gcc在path中

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

編譯,其中 commit_from_first_step 填入(cb5fc502c60be9305c5a007be335e860d9e7c0cb)

export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
cd omap
git checkout <commit_from_first_step>
make panda_defconfig
make