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包软件

2.2 找到升级程序工作目录

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的下刷机程序

android7.0获取外挂tf卡路径,Android ROM开发(7) TF卡(金卡)自引导刷机相关推荐

  1. android 开发刷rom,Android ROM开发(7) TF卡(金卡)自引导刷机

    Andrew Huang 转载请注明作者及网址 官方的RUU对于刷机要求严格.必须使用PC通过USB在线刷机,检查也比较严格.如果想刷CID不一致的ROM,或者降版刷机.用这个方法不行. 因此如果你的 ...

  2. Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路

    Android ROM开发(三)--精简官方ROM并且内置ROOT权限,开启Romer之路 相信ROM的相关信息大家通过前几篇的学习都是有所了解了,这里就不在一一提示了,这里我们下载一个官方包,我们还 ...

  3. android+rom+bootloader+flash,Android ROM开发(4) bootloader 三种启动模式

    Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...

  4. Android ROM开发(一)——Windows下Cygwin和Android_Kitchen厨房的安装

    Android ROM开发(一)--Windows下Cygwin和Android_Kitchen厨房的安装 很久没有碰到ROM开发了,在很久很久以前也是从ROM起步的,无奈还是一脚踏上了Android ...

  5. android rom 工作,Android ROM开发(4) bootloader 三种启动模式

    Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...

  6. 怎么测试android rom,Android ROM开发(6) RUU刷机测试1

    Andrew Huang 转载请注明作者及网址 在刷机时,经常会听到几个名,OTA,RUU. RUU 是Rom Update Utility 的缩写,RUU是官方发布的的完整的升级包.HTC发包通常的 ...

  7. Android7.0+ 获取WiFi列表以及连接WiFi

    获取WiFi列表并连接 这段时间项目中涉及到需要获取WiFi列表以及连接,在这里记录下 其中就有一个坑,在Android7.0以上还需要打开定位(也就是手机中"位置信息") Wif ...

  8. android存储到sd卡中,android保存文件到SD卡【文件存储】

    sd卡用于保存大文件如视频,音频,大文档等 package cn.itcast.files; import cn.itcast.service.FileService; import android. ...

  9. android 无法显示SD卡目录,Android studio无法在SD卡上创建新目录?

    我使用名为scanlibrary的库来扫描照片,然后将它传递给tess-two来执行OCR过程.问题是,在目录"ScanDemoExample"不被创建因此tessdata文件不会 ...

  10. 新大陆物联网-Android实现网关功能-连接云平台并上传传感器数据-获取执行器指令并执行-Android网关开发-通信-数据上传云平台-JAVA原理讲解-免费云平台使用-竞赛2022国赛真题

    目录 一.任务要求 二.开发环境 三.网关上线 四.数据上传与命令下发 五.JSON命令解析思路 六.总结 一.任务要求 我们将要实现的效果是:Android开发平板与Lora板进行有线串口通信,解析 ...

最新文章

  1. python生成简单的FTP弱口令扫描
  2. Docker容器管理总结
  3. F5金飞:“双十一”安全事项三部曲
  4. 图像协方差矩阵_深度学习的预处理:从协方差矩阵到图像白化
  5. java collection源码_jdk源码阅读Collection实例分析
  6. ASP.NET MVC之文件上传【一】(八)
  7. 使用AIDL实现进程间的通信
  8. Linux网络属性及其配置
  9. 微服务实践(总)-原文
  10. MacbookPro下载word文件显示dms怎么办
  11. 【每日一练】56—CSS实现一款实用的响应式卡片悬停效果
  12. 3.9 haas506 2.0开发教程-example-oled
  13. 神经网络模型入门及蠓虫分类问题简单实战
  14. 内部披露!最新互联网大厂的薪资和职级一览
  15. 家里想养花了(持续更新)
  16. codechef October Challenge 2017解题报告
  17. Mac下独立设置触控板和鼠标的滚动方向
  18. 惊:盲人学会编程,成为优秀程序员
  19. java集成showdoc文档生成
  20. Perl,PHP,Python,Ruby概要及各自特点

热门文章

  1. linux内核创建ubi,Linux最新UBI文件系统介绍
  2. python里的平方_python中平方和
  3. ubuntu14.04 下基于Nginx搭建mp4/flv流媒体服务器
  4. java驱动音响设备发音_XP环境下驱动正常、声卡正常但音响没声音怎么解决?
  5. c语言中输入数组时用不用加地址符,C语言中,用格式符”%s”输入字符数组时,数组名前不能加。...
  6. 《认知觉醒》 读书笔记
  7. Don’t Just Assume; Look and Answer: Overcoming Priors for Visual Question Answering——论文阅读笔记
  8. 微商公社新兵连第一天
  9. 小型微型计算机投稿流程,小型微型计算机系统
  10. 斐波那契数列c语言while,C语言数据结构递归之斐波那契数列