您的位置:首页 > 运维架构 > Linux

Milestone/A853/XT702/umts_sholes Compile your own Android ROM and Customize your own linux kernel

2013-08-19 09:16 597 查看
本文讲述 如何为自己的 Motolora Milestone/umts_sholes/A853/XT702 编译 Android CM ROM, 从此以后可以自己轻松定制 Android ROM,喜欢玩kernel 的可以尽情修改自己的kernel。

1) 下载 umts_sholes Android CM 源代码

使用 https://github.com/nadlabak/android 这个repo manifest, repo 基础的使用方法请参考Android官网, Android 开发最好对 repo 有清晰的理解。

$ mkdir umts_sholes

$ cd umts_sholes

$
repo init -u git://github.com/nadlabak/android.git -b gingerbread


$
repo sync


vendor/cyanogen/get-rommanager


2) 编译 源码

. build/envsetup.sh && brunch umts_sholes


2.3 的编译环境可以是32bit, 我在 ubuntu 12.04 32bit 上编译的,注意JDK 需要1.6版本,Tiny6410 正好有这个版本,所以我的环境不用修改就能编译成功。

2.1) 如果出现以下错误:

make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/libGoogleAnalyticsV2_intermediates/javalib.jar', needed by `out/target/common/obj/APPS/CMStats_intermediates/classes-full-debug.jar'.  Stop.

make: *** Waiting for unfinished jobs....

$ cd packages/apps/CMStats/

下面这个 commit 加入了 Google Analytics support, 但是有问题,所有可以将这个 APP回退到前一个 commit,

$ git reset --hard 36132dd1d26ce14053882ba66e11be71a9cb5177

这样 CMStats 这个package 的 Android.mk 就不 依赖于libGoogleAnalyticsV2 了( LOCAL_STATIC_JAVA_LIBRARIES := libGoogleAnalyticsV2)

commit 18c4012c4ebf44a850715b32a0b4315f969a812c

Author: Koushik Dutta <koushd@gmail.com>

Date:   2013-04-04

    Add Google Analytics support

    

    Change-Id: If5677d13877e3a0292bb4c855a5d8560e09db42f

 Android.mk                                      |    2 ++

 res/values/analytics.xml                        |   12 ++++++++++++

 src/com/cyanogenmod/stats/ReportingService.java |   12 ++++++++++++

 3 files changed, 26 insertions(+)

2.2) 如果出现 编译完成后通过 Openrecovery 刷入无法开机,确保 linux kernel 的版本是2.6.32.60,因为 prebuilt kernel modules 当前最新的是 2.6.32.60,

commit aad890e75be5270656840940596d9c375de5a264

Author: Skrilax_CZ <skrilax@gmail.com>

Date:   Fri Jul 26 09:18:04 2013 +0200

    Update to 2.6.32.61

这个 commit 将内核版本升到了2.6.32.61 但是没有重新编译 prebuilt kernel modules,如 pvr module。 当前,我已经通过IRC 向 github milestone 提交这个commit 的开发者报告了这个问题,并且已经 revert 掉了这个commit。

commit 801e7beb27408e311334564bc7382c3e382d02c8

Author: Skrilax_CZ <skrilax@gmail.com>

Date:   Thu Aug 15 13:57:48 2013 +0200

    Revert "Update to 2.6.32.61"

    

    This reverts commit aad890e75be5270656840940596d9c375de5a264.

    No bug, but needs recompiling precompiled modules, so left alone for

    now.

Milestone 开发可以加入 IRC : freenode/ #milestone-modding

3) 通过 openrecovery 刷入 自己的 milestone.

2ndboot_open_recovery 下载: http://code.google.com/p/cyanogenmod4milestone/downloads/detail?name=OpenRecovery_2ndbootOR_v1_2.zip
之前使用的是MIUI 的话,用 file:///home/qiang/Downloads/Milestone_tools.zip 这个Open Recovery 刷。

参考:

http://android.doshaska.net/cm7build

That's all !  Enjoy your own Android ROM and customize your own linux kernel on umts_sholes NOW !

---------------------------------   2014/10/21 更新: --------------------------------------------

cd kernel/

make ARCH="arm" CROSS_COMPILE="/home/CORPUSERS/xxxx/projects/umts_sholes/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-" O=/home/CORPUSERS/xxxx/projects/umts_sholes/out/target/product/umts_sholes/obj/KERNEL_OBJ/ menuconfig

make ARCH="arm" CROSS_COMPILE="/home/CORPUSERS/xxxx/projects/umts_sholes/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-" O=/home/CORPUSERS/xxxx/projects/umts_sholes/out/target/product/umts_sholes/obj/KERNEL_OBJ/ zImage -j8

Milestone 使用 2ndboot, 会将/system/etc/2ndboot/kernel 文件作为 kernel zImage 启动起来,因此编译完自己的kernel 之后, 直接将新编成的zImage 替换掉这个文件就行,不需要刷机。

使用 2ndboot更加方便开发。

cd /home/CORPUSERS/xxxx/projects/umts_sholes/out/target/product/umts_sholes/obj/KERNEL_OBJ/arch/arm/boot

adb remount

adb push zImage /system/etc/2ndboot/kernel

adb reboot
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: