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

最近在学习刷机相关的知识,在网上看了一些教程之后,对刷机的认识还是只停留在那么机械式的几步,总觉得这样不求甚解真是不好!所以小编找来了下面这篇文章,自己学习了下,确实不错(好吧,小编是新手,希望大牛带小编装x带小编飞……),分享给大家。

这一段时间刷了一堆ROM,安卓系列、CM、Hero、OldMos,手机的照相机也刷得再也启不来了(不知道什么原因,杯具)。有话说:"久病成良医",想我们折腾了这么久的刷机,也得总结总结不是,小弟不才,远没成"良医",但还是想把自己的一些认识和心得写出来,以期抛砖引玉...

一、刷机原理

记得第一次刷机,那个心理紧张啊。其实紧张什么呢?就是因为不明白原理啊,只看到一堆的教程来依葫芦画瓢,生怕错了一步将手机变砖。说起来,刷机就是两种方法:

一是recovery方法,就是我们平时将update.zip放入到SD卡,然后alt-s的方法,这种方法是调用了recovery的方法将各种img或文件进行复制等操作。

二是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系统的源码来编译,并进行基于系统级的定制和移植了。

如果是简单一点的自制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的环境)。

再往下就有点高深了,目前只留心一下这些基础的东西,错误在所难免,欢迎指正,拍砖轻些。

原作者: happylo

来自http://www.morecomtech.com/community/article/sjjc/w2015090005.php

***************************我是分享的天使分隔线********************************

此外,分享一篇刷机常识性的文章:

刷机综述:http://www.morecomtech.com/community/article/sjjc/w2015090001.php

时间: 2025-01-02 04:05:11

ROM刷机原理及ROM制作技术初探的相关文章

一键定制rom刷机包!好用工具

咳咳-..可以吐槽,带来的是分享,留下的是芬芳! 软件市场的丰富化,必然造就了制作工具的多元化.在这个迅速发展的大市场里,每当提起rom制作工具,我们心中都有自己完美的答案,也有属于自己制作的小法宝,在此我也卖弄卖弄,和大家一起分享我的达卷. 其实我制作rom的方法很简单,就是借助第三方工具,也就是蘑菇rom助手,详情如下: 友情提示:软件大小:9.46MB 分类:手机工具 语言:简体中文 运行环境:WIN7.WINXP.WIN8 Rom助手可以帮助使用者快速的优化刷机包,精简不必要的内置软件,

U+V2深度隐藏PE制作技术初探

所谓U+,习惯上是指用UltraISO软件把ISO文件写入U盘来制作启动盘的一种技术.第一代U+兼容性不太好,不推荐使用.目前,兼容性比较好的是第二代U+启动技术(USB-HDD+ V2/USB-ZIP+ v2),通常简称为U+V2,最新版 U+ 2.0可以创建启动分区并支持"低端隐藏"."高端隐藏"和"深度隐藏"启动分区.U+V2高端隐藏和深度隐藏启动分区解决了PE中低端隐藏时运行一键还原工具时隐藏的启动分区与可见区互换的问题,让U+技术达到了

aosp 制作 rom 刷机 添加厂家二进制驱动 及 出厂镜像

首先介绍下背景知识. aosp 仅是一套源码,不含厂家驱动. CM安卓的厂家驱动是自行提取的. 一般的安卓手机分区,有 boot , system, user , 基带, recovery , cache 等. Google Pixel XL 都需要哪些 驱动呢? 1, 厂家驱动二进制. https://developers.google.com/android/drivers#marlinppr2.180905.006.a1 This page contains binary hardware

android ROM刷机updater-script单刷补丁包脚本

ui_print(""); ui_print("-------------------------"); ui_print(" Let's Go "); ui_print("-------------------------"); ui_print(""); run_program("/sbin/busybox", "mount", "/cache"

致在刷机路上走得坎坷的朋友——刷机失败的解决方案

刷机有一定的风险,不当的刷机方法可能会带来很多不必要的麻烦,比如无法开机.开机死机.功能失效等后果.所以我们要慎重刷机,尽量避免不科学的操作.下来就让我们从线刷开始阐述由于线刷造成的刷机失败或是手机成砖的拯救方法. 刷机险情一 使用RSD工具线刷,刷机过程没问题,但最后RSD却显示please manually power up this phone.(请手动启动手机,刷机没有问题,不要紧张.) 刷机失败解决方法: 1.这是提示手动开机的意思,直接用手按开机键开机就OK了. 2.如果第一种方法不

怎样制作刷机包,让你的rom更个性

刷机的乐趣,只有刷了才知道!当然准备工作是必不可少的,那么怎样制作个性的刷机包呢?相信有很多人还在为制作rom的问题而烦恼,其实制作的方法很简单,那我们就来学习一下,轻松的制作刷机包,让你的rom更个性. 直入主题: 我们要下载一款适合机型的rom包,和一个第三方制作工具,比如:蘑菇rom助手(如果有其他更好的工具也可以使用) 1:打开蘑菇rom助手,可以选择"系统精简","性能优化","解包img","预装apk",&quo

rom个性刷机也完美,你刷机了吗?

提到刷机,我们就会想有没有风险,其实但凡刷机都带有一定的风险,关键是看你能不能把风险最小化甚至去掉了.首先肯定的是,正常的刷机操作是不会损坏手机硬件的,而不当的刷机方法可能带来不必要的麻烦,比如无法开机,开机死机,功能失效等等后果.但刷机确实可以解决手机有些莫名其妙的毛病,升级手机硬件驱动等等问题,这些我们是不能否认的.如果你的手机需要刷机,那我们就一起进入接下来的操作吧! 简单的介绍刷机的主要过程: 首先在刷机前我们要做好充足准备,才可以最大限度的减少刷机的风险. 1:保证手机电量 为了保证刷

未来软件园:Rom助手如何呵护刷机的未来

几经发展,刷机市场不断壮大,网上各种刷机教程铺天盖地,刷机软件更是被炒的热火朝天,而rom助手却低调前进,在这片竞争的领域中,不但没被淘汰,反而被广大刷机爱好者所熟知,并得到推崇,是出于何种魅力,让此能够长盛不衰,更胜一筹.   对此我们可以从两方面说起:现在的发展以及刷机的未来 一:现在的发展 对于现在,笼统的可以说:rom助手是一款手机系统rom文件的编辑制作工具.通过直观的操作界面和简洁的使用流程,实现对手机系统rom文件的修改和制作,帮助使用者将希望预装的apk软件封装进系统rom文件里

酷派D530刷机指引之民间ROM

为什么要刷民间ROM? 下图左边是官方ROM,右边是民间ROM,单单看"程序内存"这一项,这个问题的答案应该无需多言: 选择民间ROM就跟找对象一样,没有最好的,只有最适合自己的,找ROM的朋友可以参考一下添翼圈论坛上的这个帖子: [ROM] D530刷机专用--民间ROM合集!!(归纳贴) 链接:http://www.in189.com/thread-358823-1-1.html Root 在Android手机上获得Root权限,网上的工具和教程可以说得上是多了去了,此处省略两千零