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

本文讲述 如何为自己的 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值