三星ODIN刷机包的修改

三星ODIN刷机包的修改SunnyOK系列讲座索引【第一讲】如何用Odin刷机-新手必读http://bbs.gfan.com/android-1653492-1-1.html【第二讲】I897卡刷或CWM刷机教程http://bbs.gfan.com/android-1701867-1-1.html【第三讲】APK应用程序的解包、修改、编辑、打包及应用http://bbs

大家好,又见面了,我是你们的朋友全栈君。SunnyOK系列讲座索引


【第一讲】如何用Odin刷机 – 新手必读

http://bbs.gfan.com/android-1653492-1-1.html



【第二讲】I897卡刷或CWM刷机教程

http://bbs.gfan.com/android-1701867-1-1.html



【第三讲】APK应用程序的解包、修改、编辑、打包及应用

http://bbs.gfan.com/android-1744646-1-1.html



【第四讲】ROM的提取和RFS文件的解包打包

http://bbs.gfan.com/android-1822477-1-1.html



【第五讲】如何制作或定制Odin刷机包ROM

http://bbs.gfan.com/android-1849329-1-1.html

【第六讲】如何制作刷机补丁和CWM刷机包ROM
http://bbs.gfan.com/android-1896274-1-1.html






————————————————



如何制作或定制Odin刷机包ROM





你们可能都注意到,在I897论坛,缺少如何定制ROM的教程和资料。我5月初加入I897论坛后,想在这方面做点事情。过去为Motorola XT502做过一些ROM(安卓论坛,用户名:SunnyOK),现在打算在三星I897上再实践一次。于是在其它论坛查找资料,在I897手机上进行改造和实践,获得成功。于6月5日发布第一个定制ROM,积累了一些经验。在这一讲里,把我个人定制ROM的过程介绍给大家。为有志于定制ROM的机友加油打气!丰富论坛!





定制ROM对于玩机者来说是高级玩法,与广大机友一起玩,互动性极强,乐趣无穷。通过定制ROM,你可以简化原来的ROM,删除原包中的某些应用程序,同时增添一些你喜欢的新的应用程序,可以美化主题、桌面、设置等,进行Root和其它操作,等等。你也可以修改I9000的刷机包或其他ROM,移植内核或基带,从而定制成I897的ROM。最后打包,为自己后来刷机用或发布共享。





现在进入这一讲的正题。





一般说来,制作ROM可以简单地分为两个层次:
   1)定制ROM:是拿官方的ROM或他人的ROM做底包,通过解包、修改、编辑、打包几个步骤,制作出自己定制的ROM。
   2)自制ROM:是基于Google的安卓开源系统(Android Open Source Project,简称AOSP),从源码开始,自己编译,自己打包得到自制ROM。






本讲要描述的是第一层次:如何定制ROM。更具体一点:就是如何制作或定制Odin刷机包ROM。现在网上流行的I897和I9000的刷机包主要还是基于第一层次的定制ROM。而HTC的手机则有不少是基于第二层次制作的ROM包。





要定制出高质量的ROM,需要很多基础知识和积累很多ROM需要的素材。我的第三讲和第四讲都是为了现在定制ROM做的铺垫,打基础。在教程向下进行的过程中,我假定读者已经掌握了前两讲的内容,尤其是第四讲的RFS文件的解包和打包。





我把定制ROM的过程分成以下几个步骤:

  1.底包ROM的解包
  2.RFS文件的解包
  3.RFS文件的修改、编辑、美化
  4.RFS文件的打包
  5.基带和内核的移植及其它
  6.新刷机包ROM的打包
  7.测试和发布

1. 底包ROM的解包





1)解RAR/ZIP压缩包

I897和I9000的ROM通常以压缩包形式传播。文件形式为 .rar或 .zip。不管是哪一类,解压缩包这一步可以在Windows下进行。所用的解压工具是WinRAR,或WinZIP,或7-zip等。解压后得到TAR文件包(刷机包)。



在通常的ROM中,除了PIT文件外(有的ROM中没有这个文件),所有刷机文件都打包在一个TAR文件中(例如:ROM.tar),也有的刷机包由三个TAR文件组成(PDA.tar,CSC.tar和PHONE.tar)。不管是哪一种,它们所包含的刷机文件内容是相同的,只是文件打包方式不同而已。





2)解TAR包

TAR包可以在Windows下用WinRAR来解,也可以在Linux下来做,视方便而定。

如果定制ROM是在Linux系统下进行ROM打包,我建议TAR包在Linux下来解,这样比较方便,因为你需要的所有刷机文件都放在那里。为此,创建一个目录/home/sunny/ROM,把ROM.tar或PDA.tar拷贝到这个目录。然后在该目录下产生一个子目录PDA。把ROM.tar或PDA.tar解包到/home/sunny/ROM/PDA。



解开后会看到有一个文件factoryfs.rfs,对应手机里 /system 目录的内容,修改和美化工作都在这里。这个在第四讲里已经详细讲过了。





2. RFS文件的解包





这个步骤及其操作在第四讲里已经详细讲过了,这里不再重复。
(ROM的提取和RFS文件的解包打包

http://bbs.gfan.com/android-1822477-1-1.html






3. RFS文件的修改、编辑、美化





同上。这个步骤及其操作在第三讲和第四讲里已经详细讲过了,这里不再重复。





4. RFS文件的打包





同上。这个步骤及其操作在第四讲里已经详细讲过了,这里不再重复。





好了!到此,我们假定factoryfs.rfs和其他的的RFS文件经过2,3,4这几步都已经制备好了。





5. 基带和内核的移植及其它





现在是你考虑用什么基带和采用哪一个内核的时候了。这个没有什么好讲的,主要是你平时就要注意收集基带和内核,多看些评测,看对那个基带的评价好。内核主要是要跟进最新的。剩下的事就要劳你辛苦了,挨个测试吧,看那个能用,尤其是能与你要定制的ROM匹配。你为大家做ROM,是无尝的奉献,当然要有你的这些幕后工作。





此外,你现在也要考虑param.lfs,或者同时增加或同时移除Bootloader boot.bin和Sbl.bin文件等。





6. 新刷机ROM的打包





在这一步里,把所有准备好的刷机文件打包成TAR刷机包ROM,供刷机用。下面介绍两种ROM打包方法。





1) 在Linux操作系统下进行





如果你有Linux环境和熟悉Linux操作系统,这ROM打包对你来说就是小菜一碟。


ROM打包涉及两步:生成TAR包和md5签名。操作步骤如下:
a) 把所有要打包进ROM的文件都复制到一个文件夹内,例如:/home/sunny/XXJVQ
这些刷机文件包括:zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs,cache.rfs,dbdata.rfs 和modem.bin。
b) 在超级用户终端/home/sunny/XXJVQ,输入:
   # tar -cf New-ROM.tar zImage boot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs dbdata.rfs modem.bin
   # md5sum -t New-ROM.tar >> New-ROM.tar   
   # mv New-ROM.tar New-ROM.tar.md5  






第一步是TAR打包,第二步是md5签名。打包和签名结束。New-ROM.tar.md5就是最后定制好了的Odin刷机包ROM了。





2) 在Windows操作系统下进行





考虑到有些机友没有Linux环境,这里介绍一种在Windows下进行ROM打包的方法,很实用。需要你在你的Windows上安装一个虚拟Linux机。这方面的软件很多,自己去Google去吧。这里,我们用Cygwin来完成(完全免费),它是一个在Windows平台上运行的Linux模拟环境,可以实现大部分Linux的操作。幸运的是,我们ROM打包所需要的所有东西都在。

由于你在模拟的Linux环境下,所以ROM打包的所有操作都与上述在纯Linux环境下完全相同。为清楚起见,这里再重复一遍:


a)在C:/cygwin/home/sunny下创建一个文件夹:XXJVQ。
b)把所有要打包进ROM的文件都复制到这个文件夹内。
这些刷机文件包括:zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs,cache.rfs,dbdata.rfs 和modem.bin。
c)打开Cygwin 的 bash shell,提示符是“$”。这就是模拟的Linux环境。在“$”下输入Linux命令:
   $ tar -cf New-ROM.tar zImage  boot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs dbdata.rfs modem.bin
   $ md5sum -t New-ROM.tar >> New-ROM.tar   
   $ mv New-ROM.tar New-ROM.tar.md5  






第一句是TAR打包,第二句是md5签名。第三句是改文件名,可以省略。New-ROM.tar.md5就是最后生成的,可供刷机用的ROM了!





注释:如果要把ROM打包成3个TAR文件。打包过程和命令与上述完全相同,只不过是分别要进行3次而已。
   CSC.tar中包含cache.rfs
   PHONE.tar中包含modem.bin
   PDA.tar中包含zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs和dbdata.rfs。






7. 测试和发布





Odin刷机包ROM做好了,最后一步就是刷机测试。检查你计划要定制的所有内容都在,所有功能都正常。在可能的范围内,把所有按键都扫一遍(这无疑需要很多时间)。如果有问题的话,要回头从第二步重新做起,直到测试满意,达到计划要求。

一切OK的话,定制的Odin刷机包ROM就做好了,可以收工了。如果你觉得有发布价值,就上传发布吧!





8. 注意事项





1)定制ROM是一项复杂和细致的工作,要求ROM制作这有良好的工作素质和习惯。在动手之前,先做个定制计划,逐一进行。
2)在第三步修改/system的内容时,要遵循“先删后添”的原则。这是由于/system的大小限制为276.3MB。如果先添加应用程序,可能会出现“磁盘已满”或“空间不足”的问题。
3)在TAR包的打包时,文件名的排列顺序决定了刷机时文件的刷入顺序。要尽量把boot.bin和Sbl.bin挨在一起,以避免不良刷机后果。建议的打包顺序为zImage boot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs modem.bin,其中zImage在先测试验证USB线是否正确连接,后面紧跟着把boot.bin 和Sbl.bin刷入手机。
4)为了避免刷机变砖的可能性,boot.bin和Sbl.bin必须同时加或同时不加。千万不要只加其中的一个。
5)本文适合于定制各种I897 ROM。




主要参考






【第三讲】APK应用程序的解包、修改、编辑、打包及应用

http://bbs.gfan.com/android-1744646-1-1.html

【第四讲】ROM的提取和RFS文件的解包打包

http://bbs.gfan.com/android-1822477-1-1.html

介绍PIT文件(分区信息表)- 与刷机友分享

http://bbs.gfan.com/android-1568237-1-1.html

三星I5800 tar定制教程

http://bbs.aeapk.com/thread-917-1-1.html

修改 i9000 rom 内容的方法

http://www.littledai.com/tag/rfs

制作三星I9088 刷机ROM的实践

http://blog.csdn.net/sharetop/archive/2010/12/22/6092041.aspx

i897刷机原理分析,进阶必读

http://bbs.gfan.com/android-351007-1-1.html

Cygwin

http://www.cygwin.com/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162819.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号