手机版 新浪微博
官方微信
历趣沙龙国际首页 手机客户端
当前【全部】
当前位置:历趣>资讯>教程>刷机和ROM原理

刷机和ROM原理

浏览:500万+2012-01-04我要评论(0)
先了解几个刷机中常常提到的词:

什么是Recovery

Recovery是一个在Linux下的系统恢复模式。笼统的说,就是一个刷机的工程界面。如果你装过系统,你可能知道dos界面或者winPE,安装了Recovery相当于给系统安了一个dos界面。在recovery界面可以选择进行刷机,备份,重启,安装系统,清空数据,ghost备份系统,恢复系统等等,系统的OTA升级也是通过调用Recovery来进行的。

如何进入Recovery的界面

关机状态下,按住音量增加键和关机键,等出现开机画面时松手,即可进入Recovery(也有少数不一样)。


什么是Fastboot

Fastboot也是一个刷机界面,不过比Recovery更接近硬件层;当你不能进入Recovery模式的时候,快可以通过此模式挽救,如果Fastboot模式都进不去时那么你的手机就真成砖了。三星进入Fastboot是按住 关机、音量-、音量+三个键,俗称为挖煤模式。





一、刷机原理

刷机就是两种方法,线刷或者卡刷

卡刷:一般简单的可以理解为在内存卡中刷机。

过程:
1.将“刷机包.zip”放入到SD卡。
2.关机再进入到recovery界面分别选择wipe data/factory reset 恢复出厂设置,wipe cache partition 擦除cache(简称双清)
3.在recovery界面再选择“刷机包.zip”文件刷入。
     
原理:这种方法是调用了recovery的方法将各种img或文件进行复制等操作。

备注:刷机格式都为zip。手机进入recovery的方法不一样,卡刷需要找个跟自己机型合适的recovery,因为为了保证Rom的可靠性,在安装程序中都会对一些安装环境进行一些确定,另外,Recovery程序本身也有一些环境验证。

        在卡刷刷机的全过程中,如果你的recovery跟ROM都已经OK了的情况下,是不用将数据线跟电脑连接的,所以称之为卡刷。卡刷的难点就是找到合适的recovery刷入到手机中。recovery刷好后,只是一个利用recovery选择刷机包的过程。



线刷:可以简单的理解为用USB线将手机根电脑连接起来,利用电脑软件帮手机刷机。
过程: 1.手机进入Fastboot 模式。
2.用USB线将电脑跟手机连接起来,安装驱动,确保刷机工具可以识别到手机。
3.把线刷ROM解压后,按照指定路径分别把各个文件刷入到指定位置 

原理:将已有的各分区映象文件(img文件,意义上类似我们对光盘做的映象文件)通过刷机工具直接覆盖写到指定分区中。 备注:确保已安装好驱动;刷入文件路径正确。

线刷其实是一种比较暴力,也是一种比较通用的刷机方式。这种方式一般都是恢复到官方的系统。线刷的难点在于安装驱动,是安装你的手机进入Fastboot模式的驱动。

这两种方法哪种更好,这就不好比高低了,总的来说:
Recovery方法更简单,只需要傻瓜式的将update.zip放到SD卡的要目录下,然后进入Recovery模式选择刷机包就可以了,但和任何傻瓜式东西一样,他的灵活度就很小了,而且出错了也都不知道如何解决。不过最常用的刷机模式就是卡刷。 线刷刷方法更灵活,功能也更强大,fastboot方法不需要依赖于recovery,甚至linux底层刷坏了recovery模式都进不了的情况下也可以通过fastboot方工刷回来。所以线刷方法一般用于救砖,为你的卡刷保驾护航。



二、回头再来说说Android系统中的各分区(可能分区这个说法不太准确)
我了解到的Android系统中的分区有: hboot(我们刷的SPL就是这玩意),这个分区是最基本的引导分区(类似电脑中的BIOS),这个区坏了,差不多就变砖了,所以我们刷SPL时才要如此小心啊。 boot,这个分区应该是linux操作系统的引导分区。 radio,这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话和发短信等,不同的系统版本会有不同的radio配套,我们平时刷了高版本的ROM后,如果不刷高版本的Radio就有可能导致打电话不正常之类的。 recovery,这个分区装的就是前面提到的recovery程序了,这个刷不同的recovery版本可以带来不同的功能,有兴趣的同学可以基于recovery的源码自己编译出一个自己的recovery出来。但一般来说,刷recovery最主要的就是提Root权限。 system,是一般发布的ROM的主要功能程序分区了,我们说的ROM功能和自带程序的定制应该就是基于这个分区的修改和编译了。 userdata,用户数据,不说了。 cache,缓存,一般是用来OTA升级时的缓存,我们说刷SPL可以增加程序区的空间大小就是主要将这个区的大小缩水了然后加大了程序区的分区大小。

三、一个典型ROM的剖析
我们平时升级的Rom都是打包成适合Recovery方式刷机的包。能够被Recovery程序识别并处理的包应该有一个固定的格式,我理解的一些重要的约束如下: 1)必须是标准的zip压缩包; 2)recovery脚本必须存入在META-INF\com\google\android\update-script; 3)其它的一些证书和签名信息应该都放在\META-INF\下。


四、我们有没有可能自己定制ROM呢
理论上我们是可以自己定制的。 最简单的定制应该就是拿一个现有的认为还不错的基础ROM,替换一些资源,加一些系统自带程序,然后打包发布; 再玩高级一点,就应该自己去修改一些系统自带的程序,如汉化一些系统原始程序; 还玩高级一点,就应该自己到android官方站点去下载android系统的源码来编译,并基于系统级的定制和移植了,如现在火热的android2.0源码编译系统移植。 如果是简单一点的自制ROM,主要应该会要解决如下几个问题: 1)选定一个比较好和稳定的内核和基础,就是update.zip包中的哪个boot.img,另外,system目录中大部分也是直接可用的,就可以作为自定义Rom的基础。 2)修改系统。例如可以这样来定制的东西:system\etc\apns-conf.xml,这是设置APN接入点的;system\etc\hosts,这是设置Host文件的,现在有很多人用的包绑定不了GMail,就可以在这个Host文件中增加一条:74.125.93.113 android.clients.google.com (当然,这个地址能用多久也不好说)...还有什么东西要自己去定制就自己去翻看瞧瞧。 3)Rom的重新打包签名。前文已经介绍了一个Rom包的基本结构,但完全按照这个结构打包还是不能被Recovery安装的,因为没有签名!Rom签名可以下载一个自动签名工具Auto-sign,具体到哪下,请Google。(注:Rom签名工具需要Java1.6支持,所以系统还得有JRE1.6的环境)。 再往下就有点高深了,目前只留心一下这些基础的东西,错误在所难免,欢迎指正,拍砖轻些。
  1. 扫码关注历趣官方微信
    随时随地获取最新资讯

刷机和ROM原理怎么样? 发表你的评论吧

  1. @刷机和ROM原理2014-11-23讲的非常仔细,长知识了。
  2. @刷机和ROM原理2014-07-09太好了!!!
  3. @刷机和ROM原理2014-02-01怎么安装不了应用
  4. @刷机和ROM原理2013-11-04赞!!!!!!!!!!!!!!!!!!!!!!
  5. @刷机和ROM原理2013-09-24好,,,,,,,,,,,
热门小游戏排行
  1. 下载1000万+人在玩
  2. 下载100万+人在玩
  3. 下载100万+人在玩
  4. 下载5000万+人在玩
  5. 下载100万+人在玩
  6. 下载100万+人在玩
  7. 下载100万+人在玩
  8. 下载1000万+人在玩
沙龙国际网上娱乐