从源代码编译制作HERO ROM

 买了HTC HERO,试过很多自定义的ROM,现在在用Modaco3.2的,1.5固件,相对来说比较稳定,也不费电。

之前就下载过Android的源码,不过不知道如何编译HERO能用的ROM。今天GOOGLE了一下,大概找到了门路。不过只能在模拟器中加载,刷手机后停在第一屏。可能有些地方的设置不对。这里记录一下编译和配置的过程。

1.安装ubuntu。我安装的是9.10
2.安装必要的软件,包括git.然后wget http://android.git.kernel.org/repo ,chmod +x ./repo
3.mkdir cupcake.假定cupcake是源码目录。repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake. b参数是指定源码的分支。1.5的代号是cupcake.如果要下载2.1的,就是eclair. (HTC没搞1.6固件的hero.android源码的重要分支的代号都是食物,而且首字母按照字母顺序来,1.6的是donut)
4../repo sync 等待N小时。貌似整个源码1G多
5.如果不是编译特定的硬件的rom,到这里就可以开始make了。要编译hero的rom,还要做一些准备功夫。进入cupcake/.repo,然后保存下面的内容到local_manifest.xml

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="git://github.com/" />
<project path="vendor/htc/hero" name="loxK/cupcake_platform_vendor_htc_hero" revision="refs/heads/master"  remote="github" />
</manifest>
6. repo sync. 会在cupcake/vendor/htc下面生成一个hero目录。
7.由于hero的HTC部分的驱动和一些程序并不开源,所以,我们需要把这些文件都拷贝到源码里面来编译。
7.1 首先是用unyaffs把htc提供的开发镜像解开。这里下载unyaffs.这里下载android1.5的system image.然后unyaffs system.img.提示end of image.就表示解压完成了。
7.2 下载这个文件,解压,把里面的文件拷贝到/vendor/htc/hero.
8.make  也是要等N久
9.生成的文件在out/target/product/hero.
10. cd out/host/linux-x86/bin  然后./emulator -system cupcake/out/target/product/hero/ -kernel cupcake/prebuilt/android-arm/kernel/kernel-qemu -data cupcake/out/target/product/hero/userdata.img 把其中的cupcake替换成源码目录。然后就会启动模拟器了。这个需要x-win环境。
11.到这里就可以开始刷机了。两种刷机方式,一种是fastboot,一种是通过recovery刷update.zip.
11.1 进入fastboot界面 fastboot flash system system.img 和fastboot flash userdata userdata.img 然后重启
11.2 刷update.zip。先要制作update.zip. 在源码目录输入 TARGET_NO_RADIOIMAGE=true make otapackage 就会生成刷机的zip文件。这样生成的zip文件的update-script里面,有一行write_radio_image PACKAGE:radio.img ,要把这行去掉。然后保存zip.重新签名.签名的脚本在这里Auto-sign.zip

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐