自行为G1 flash Android Cupcake
前前后后看了不下10次 Build cupcake for dream 和 HTC ADP Flashing your Android Dev Phone with a Factory System Image,趁着周末空闲,遂决定试试自己编译Android安装到G1上。
安装之前核对一下固件信息:
HBOOT 0.95.3000
RADIO 2.22.19.26I
首先将代码切换到cupcake上:
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
然后同步代码:
repo sync
进入到vendor/htc/dream-open,执行:
./extract-files.sh
此时可以看到一个错误:
failed to copy ‘/system/etc/AudioPara4.csv’ to ‘proprietary/AudioPara4.csv’: Permission denied
从错误信息可以看到错误的原因大概是因为权限不够,打开extract-files.sh的脚本可以看到错误的命令如下:
adb pull /system/etc/AudioPara4.csv proprietary/AudioPara4.csv
执行命令查看该文件的权限:
adb shell ls -l /system/etc/AudioPara4.csv
可以看到该文件的owner和group都是radio,需要特殊处理一下。执行以下命令,切换到root:
adb root
接下来执行刚刚失败的命令:
adb pull /system/etc/AudioPara4.csv proprietary/AudioPara4.csv
回到cupcake的根路径下:
cd ~/cupcake
执行如下命令,注意点号和build之间有一个空格:
. build/envsetup.sh
执行:
lunch htc_dream-eng
最后执行以下命令,然后离开忙其他事情吧,2-3个小时后再后来:
make
启动手机,进入fastboot模式:开机之后,按住BACK键,直到bootloader屏幕出现,并且出现有“FASTBOOT”的字样。
执行以下命令,其可以找到images,然后flash:
out/host/linux-x86/bin/fastboot -w flashall
执行之后,可以看到如下信息:
——————————————–
Bootloader Version…: 0.95.3000
Baseband Version…..: 2.22.19.26I
Serial Number……..: HT92KKV04904
——————————————–
checking product… OKAY
sending ‘boot’ (1600 KB)… OKAY
writing ‘boot’… OKAY
sending ‘recovery’ (1830 KB)… OKAY
writing ‘recovery’… OKAY
sending ‘system’ (53808 KB)… OKAY
writing ‘system’… OKAY
erasing ‘userdata’… OKAY
erasing ‘cache’… OKAY
rebooting…
重新开机之后,就开始新的旅程了。一手打造的OS,虽然怎么看都是那么亲切,不过随之而来的是不少问题:HOME键不起了作用;数据同步不见;更糟糕的是在没有插入SIM卡的情况下,那个紧急呼叫的窗口根本无法通过BACK按键进行消除,这样也就无法进行其他操作。
简单体验之后,遂通过System-Image method更新至官方ROM。