您的位置:首页 > 其它

[经验技巧] 【ROM移植教程】近期将其他机型rom移植到小米1的经验总结

2014-06-21 10:14 330 查看
====
http://www.miui.com/thread-1052979-1-1.html
本帖最后由
喝雪碧的虾 于 2013-3-17 10:35 编辑

近期折腾移植rom有了很多成果,特地把它做成教程发上来。

1、写在前面

看这篇教程,你必须有如下基础:能够解包rom和打包rom,有基础调试能力(起码你得会logcat。。)

也奉劝大家不要轻易尝试百度上那些rom移植教程,我按照那些教程的步骤一次都没成功过,倒是有一次手机险些变砖。

我不是什么高手,移植出现问题请自己负责,有错误欢迎指出,但请勿骂人。

本教程在移植cm10/xui4.1.2/cm10.1时测试通过,其他系统请自行测试,遇到问题别忘了logcat。

2、底包的选择

移植rom,首先要选择一个和小米1/1s相近的手机,再选择它的rom进行移植。

我推荐的机型有:HTC Sensation(G14/18)/Lt26i

3、下载小米手机的rom

我推荐下载 深度os 作为移植参考包,不建议使用官方包,因为官方包的代码和很多rom都有很大差异。

4、解包

用安卓厨房等工具对底包(被移植rom)和移植参考包(小米手机的rom)进行解包以便移植

5、替换boot.img

将移植参考包(小米手机rom)里的boot.img复制到底包(被移植rom)里面,替换掉。这里替换的是内核,如果内核不正确,那就根本不能开机。

6、移植lib/bin层和etc/usr配置

lib层包含了所有硬件驱动(HAL)和其他必备库文件,因此我们要对lib层进行移植。

此步移植,我们需要参考一个文件https://github.com/iptux/android_device_xiaomi_mione_plus/blob/jellybean/proprietary-files.txt

访问这个网址,然后切换到移植参考包(小米手机rom)的/system/文件夹里面,对照网页,提出所有那个网页里提到的文件,覆盖到底包(被移植包)的对应文件夹里面。

替换完成后,还需要从移植参考包内,提取出/system/etc/vold.fstab,替换到底包里面对应位置。

然后,别忘记从/system/usr里提取keylayout和idc里面的文件并替换到底包,这里不替换会出现按键与触摸屏问题

另外,Cyanogenmod系列的rom,在/system下有一个firmware,请保持和/system/etc/firmware一样。

7、修改build.prop

把build.prop里面有关机型的配置修改一下,可以参考小米手机官方rom,改完后还需要找到rild.libpath一行,将等号后面引号里面的内容改成/system/lib/libril-qc-qmi-1.so

8、修改刷机脚本

将底包META-INF里面的刷机脚本中关于机型验证的代码删除,再修改mount命令,改成小米适用的,这点可以参考官方包的刷机脚本,具体修改方法可以问百度,我就不多介绍了。

9、打包、签名、刷机

将你修改完的底包进行打包然后签名,用第三方recovery刷入测试。(出现status7错误,可能是刷机脚本出错,也可能是系统分区空间不足,可以重新分区或者精简rom)

如果能够开机进入系统,那么恭喜你移植基本成功(我用此法移植的cm10和XUI成功开机进入系统),下面就是漫长的调试和bug解决了。

10、写在最后

目前按照此法移植的rom,主要问题就是wifi不能用,相机不能用,目前我还没有研究出解决办法,大家可以参考网上其他机型的解决办法慢慢研究,毕竟这些bug不是一两天就能搞定的。移植rom的乐趣,就在于当你解决一个bug时的那种特别的喜悦之情。我也希望看见有更多的人加入到rom移植的行列里来,希望大家能够给小米1制作更多的rom。

特别鸣谢:ROM开发大神iptux,谢谢提供移植文件列表。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: