Andrew Huang 转载请注明作者及网址
官方的RUU对于刷机要求严格。必须使用PC通过USB在线刷机,检查也比较严格。如果想刷CID不一致的ROM,或者降版刷机。用这个方法不行。
因此如果你的机器的Hboot 是S-ON版本,而又想自由刷机,有一种办法是用HBOOT从TF卡引导程序,如果TF卡的引导程序如果采用不检测版本和CID版本,这样就可以自由刷机了。这种可引卡的TF卡的引导程序名字称为 GoldCard.img,因此称为金卡。
但是这种方法制作金卡,步骤有点繁锁。远不如取得ROOT权限后用Recovery的SD升级方式简单。当然有可以不是所有版本都能取得ROOT权限的,所以这个方法还是有一定的实用价值的。
一.金卡刷机原理.
从制作和刷机的流程来看,如果进入HBOOT中,如果长时间没有做操作,HBOOT将自动查找SD卡上 PC49DIAG.zip进行升级。在检测SD卡时,会检查SD卡引导区是否有程序,如有再检测升级文件进行升级。
用金卡升级流程有如下几步:
a)查找TF(Macro SD)卡的CID号,然后向专门的goldimg制作网址提交。这一些网址会把TF上的拥有SuperCID的权限的SD卡引导程序文件发邮件给你
b)把引导文件写入TF卡的引导区里。
c)从RUU文件抽取映像文件。并将映像文件拷入TF卡产中.
d)将TF卡插入手机,并引导进入HBOOT,它会自动查找TF并升级。
二.金卡(Goldcard) 制作
如果你的S-OFF版本,可以跳过金卡引导。直接刷新.但是注意如果升级包是HBOOT是S-ON版本,刷完后又变回成了S-ON了,这个要注意一下
2.0 在windows将TF卡格式化成FAT32 格式。
2.1 申请Goldcard.img
首先,用adb 去查看TF卡的CID号,CID是Customer ID entity 的简称,用来唯一标识TF卡.一个TF卡在LINUX根据Mount顺序不同,可能设备结点不一样
在手机,打开USB调试开关。用USB连接到PC上。
用adb shell 命令检查出TF卡的CID。一般TF卡是挂载在mmc1设备上。
adb shell cat /sys/class/mmc_host/mmc1/mmc1:*/cid
- C:\Documents and Settings\hxy>adb shell cat /sys/class/mmc_host/mmc1/mmc1:*/cid
-
02544d534130324707157817cc00b7ea
后一串数字就是CID号
然后将CID转码(为什么这样做,可能是GoldImage的要求)
比如我的转码后的ID是 00b700cc1778150747323041534d5402
然后提示转到 申请金卡的image
但是这个方法最大问题是,revskills.de 网站不稳定,申请几次均未成功,用了我的三个bluedrum帐号,
只有bluedrum@163.com申请成功了.
2.2 Goldcard.img 写入TF卡引导区
因为这个goldcard.img 不是简单向TF卡的分区拷贝文件,而且要写入TF的引导扇区里.因此需要特殊软件,一般人推荐HxD,我个人比较喜欢用WinHex.
2.1.1 WinHex操作
选择"工具"-->打开磁盘,选择TF卡所在物理磁盘,注意不要选错硬盘,这样会让其挂掉.
用WinHex 打开GoldCard.img ,全选其内容
按16进制复制
选择移动磁盘的0x00,进行写入操作
然后选择"保存磁盘"
HxD也是类似操作,这里有一个详细图文操作
这样改造后,这张TF卡就是人称金卡了.
二.从RUU包中解压出image文件.
如果CID之类不匹配,或者HBOOT的状态为S-ON,用在线方法安装比较麻烦,
因此很多网友用的另一种方法,从RUU解出各个image文件,手工用recovery模式来安装.
官方的RUU包实际上打包成EXE的压缩文件. 因此可以从中读出各个image文件.
解压出来参考这页
2.1 执行在线升级1-4步
手机用数据线连接电脑,并选择“Sync”同步方式
PC端运行RUU包软件
1.如果是WIN7,直接在任务管理器找到ARUWizard.exe ,用右键菜单打开文件所在目录.
2.如果WinXP,可以运行 Process Monitor,可以从这里下载
打开程序的当前目录,我的是在 C:\Documents and Settings\hp\Local Settings\Temp\{09360C39-74CD-4E0B-A347-8FB24683ED85}\{50F2F878-636A-496F-A7CB-544C067E0C4B} 之下.
这个目录下的rom.zip 就是所需要各个ROM文件.
一个rom有如下几个文件
- android-info.txt 针对机型和版本信息;
- boot.img bootimg 分区内容(Kernel 根文件系统)
- hboot_7225_0.80.0003_100528.nb0 bootloader升级文件,后面版本号
- radio.img 基带芯片驱动 ,radio分区.
- rcdata.img 配置文件
- recovery.img recovery分区文件
- splash1.nb0 启动画面文件
- system.img system分区升级文件
- userdata.img, userdata 分区
我的ROM的android-info.txt文件内容如下
- modelid: PC4910000
- cidnum: HTC__621
- mainver: 1.18.709.2
- hbootpreupdate:2
- DelCache: 1
rcdata.img内容
- QCT_UMTS_RADIO_VER=1
- DisH=1
- MSCMode=12
- HSDPACat=8
- QCT_UMTS_RADIO_END=1
取得ROM文件后,可以选择RUU程序取消退出升级
将ROM.zip改名为 PC49IMG.zip(注意文件名的大小写),因为HBOOT引导是查找这个文件名,把这个文件拷贝到TF卡的第一个FAT32分区的根目录里.
不同机型这个文件名不同,所以你刷机前看一下HBOOT启动时提示文件名.
四.用金卡刷机
关机后,把金卡插入手机,按住音量下键后,再按POWER键进入HBOOT,HTC G8 直接等着就行,如果HBOOT发现了 PC49IMG.zip ,它首先会解压,此时会在手机屏幕右上方出现一个进度条.等待其解压完毕
解压完毕后,HBOOT会自动出现一个菜单,最下面的英文是问"是否更新系统",按音量上键表示Yes,按音量下键表示NO
按Yes,HBOOT开始逐项更新.
更新完毕后,提示按电源键重启。这样开始重新设置手机
至此金卡刷机结束。
刷卡问题: 我试着用这种方法降版刷机,在解压后提示“main version is older”,有可以新版的HBOOT已经防止了这种升级方式?有的说要ROOT才行那样不如直接用root刷机就行了
五.第三方开源工具
有人开发开源的升级工具 HTCFlasher
这需要留到后面测试一下
这是一个LINUX的下刷机程序
阅读(3827) | 评论(3) | 转发(1) |