上一主题下一主题
«123»Pages: 1/3     Go
主题 : ROM刷机原理及ROM制作技术初探
影视交流
级别: 论坛版主

UID: 33334
精华: 0
发帖: 62456
威望: 502074 点
无痕币: 19163 WHB
贡献值: 1173640 点
在线时间: 60723(时)
注册时间: 2009-03-18
最后登录: 2024-05-19

ROM刷机原理及ROM制作技术初探

  刷机就是两种方法:
  一是recovery方法,就是我们平时将update.zip入到SD卡,然后alt-s的方法,这种方法是调用了recovery的方法将各种img或文件进行复制等操作。想了解recovery的工作原理吗?我也没找到好的资料,就在这看了看recovery的一些源码:点击查看
  二是fastboot方法,这个方法其实是比较酷的方法,说白点,fastboot就是将已有的各分区映象文件(img文件,意义上类似我们对光盘做的映象文件)直接覆盖写到指定分区中,有点**,也有点类似我们平时操作系统的Ghost还原。
  这两种方法哪种更好,这就不好比高低了,总的来说:
  Recovery方法更简单,只需要傻瓜式的将update.zip放到SD卡的要目录下,然后进入Recovery模式alt-s就可以了,但和任何傻瓜式东西一样,他的灵活度就很小了,而且出错了也都不知道如何解决。一般来说做Rom的高手为了保证Rom的可靠性,在安装程序中都会对一些安装环境进行一些确定,而各位的手机环境又是千变万化的,Rom高手也很难考虑周全,另外,Recovery程序本身也有一些环境验证。
  fastboot方法更灵活,功能也更强大,fastboot方法不需要依赖于recovery,甚至linux底层刷坏了recovery模式都进不了的情况下也可以通过fastboot方工刷回来。fastboot模式其实是调用spl进行刷机的,所以如果刷spl坏了,fastboot模式应该也进不了,也就是砖了。fastboot方法需要各位电脑上有fastboot程序,同时手机要进入fastboot模式才可以操作,关于这些知识,请参见Google *^_^*
  二、回头再来说说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的环境)。
  
本帖最近评分记录:
  • 无痕币:+5(hexj9) 感谢分享
  • 标签
    级别: 无痕元老

    UID: 8888
    精华: 0
    发帖: 222982
    威望: 322548 点
    无痕币: 53569 WHB
    贡献值: 0 点
    在线时间: 106582(时)
    注册时间: 2008-10-18
    最后登录: 2024-05-19

    多谢发布技术贴
    知足常乐
    级别: 十方秋水

    UID: 23
    精华: 1
    发帖: 261149
    威望: 117162 点
    无痕币: 2494 WHB
    贡献值: 0 点
    在线时间: 9392(时)
    注册时间: 2007-11-24
    最后登录: 2024-05-13

    刷机有风险,小心哦。
    事能知足心常乐 人到无求品自高
    太公垂钓
    级别: 八片秋叶
    UID: 62564
    精华: 0
    发帖: 24723
    威望: 40994 点
    无痕币: 1926 WHB
    贡献值: 14 点
    在线时间: 1501(时)
    注册时间: 2008-11-15
    最后登录: 2023-09-01

    暂时不搞这些啊
    级别: 九滴秋露

    UID: 55460
    精华: 0
    发帖: 70952
    威望: 51692 点
    无痕币: 18932 WHB
    贡献值: 666 点
    在线时间: 26280(时)
    注册时间: 2008-10-01
    最后登录: 2019-05-12

    引用
    引用第2楼mc2800于2011-12-10 17:02发表的  :
    刷机有风险,小心哦。

    没那么恐怖,呵呵。
    级别: 十方秋水

    UID: 11111
    精华: 0
    发帖: 55547
    威望: 148455 点
    无痕币: 1363 WHB
    贡献值: 939 点
    在线时间: 45992(时)
    注册时间: 2008-10-20
    最后登录: 2024-05-19

    先看别人刷
    级别: 十方秋水

    UID: 26730
    精华: 0
    发帖: 64722
    威望: 148036 点
    无痕币: 183 WHB
    贡献值: 0 点
    在线时间: 11530(时)
    注册时间: 2008-05-03
    最后登录: 2018-05-16

    慢慢看,有机器才能刷
    级别: 六行秋雁
    UID: 14871
    精华: 0
    发帖: 1323
    威望: 14803 点
    无痕币: 1400 WHB
    贡献值: 0 点
    在线时间: 287(时)
    注册时间: 2008-02-27
    最后登录: 2023-10-02

    刷机有点怕怕的
    先来学习学习
    谢谢
    级别: 六行秋雁
    UID: 6967
    精华: 0
    发帖: 2240
    威望: 14935 点
    无痕币: 8303 WHB
    贡献值: 0 点
    在线时间: 9255(时)
    注册时间: 2007-12-30
    最后登录: 2024-05-06

    新买的机子,android系统真的不错呀
    上联:试问中国男足几多愁
    下联:恰似一帮太监上青楼
    横批:没人会射
    级别: 十方秋水

    UID: 1397
    精华: 0
    发帖: 110789
    威望: 155524 点
    无痕币: 1434 WHB
    贡献值: 0 点
    在线时间: 66108(时)
    注册时间: 2007-11-27
    最后登录: 2024-05-16

    这个先学习学习。
    上一主题下一主题
    «123»Pages: 1/3     Go
    Total 0.061495(s) query 4, Time now is:05-19 16:26, Gzip enabled 粤ICP备07514325号-1
    Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛