標籤:android 編譯 kernel 自訂核心
1. 下載kernel源碼:https://android.googlesource.com/kernel/goldfish/
下載 goldfish-android-goldfish-3.4.tar.gz(我是Android4.4的源碼)
2. 在Android源碼目錄建立kernel檔案夾
$ mkdir kernel
解壓 goldfish-android-goldfish-3.4.tar.gz到kernel檔案夾
3. 匯出交叉編譯工具目錄到$PATH環境變數中去.
$ vi ~/.bashrc
輸入內容: export PATH=$PATH:~/android/4.4/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin
4. 修改Makefile檔案,找到這兩行:
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
注釋掉然後修改為
#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
ARCH ?= arm
CROSS_COMPILE ?= arm-eabi-
5. $ make goldfish_armv7_defconfig
$ make -j8
編譯好了之後會在kernel/arch/arm/boot 目錄下產生zImage核心檔案
6. 使用自己編譯好的核心運行emulator:
[email protected]:~/android/4.4$ emulator -partition-size 1024 -kernel ./kernel/arch/arm/boot/zImage -system ./out/target/product/generic/system.img -data ./out/target/product/generic/userdata.img -ramdisk ./out/target/product/generic/ramdisk.img
Android4.4編譯自訂核心