三星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/

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

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

(0)
上一篇 2022年7月21日 上午6:46
下一篇 2022年7月21日 上午6:46


相关推荐

  • flask jsonify之序列化时的default函数、jsonify序列化自定义对象[通俗易懂]

    flask jsonify之序列化时的default函数、jsonify序列化自定义对象[通俗易懂]目录1.看源码2、重写默认的default函数,实现自己的序列化机制3、把对象转化成字典3.1__dict__的方式3.2、定义keys和__getitem__的方式4、最终的代码实现5、关于default函数的其他知识1.看源码打开site-package,flask,json,__init__.pyjsonify回去调用default()函数,我们…

    2022年5月10日
    44
  • JavaScript 动画效果

    JavaScript 动画效果文章目录 JS 动画实现概述平滑动画无缝连续滚动特效轮播图轮播图淡入淡出效果 JS 动画实现概述在 CSS3 中可以通过 transition 过渡属性可以实现动画 JS 可以利用 CSS3 中的 transition 属性实现元素动画平滑动画利用 CSStransitio 属性实现平滑动画效果 button 开始动画 button divid box script varbtn document queryS script divid box

    2026年3月19日
    3
  • 网络恐怖袭击真实存在吗知乎_911恐怖袭击事件真实过程

    网络恐怖袭击真实存在吗知乎_911恐怖袭击事件真实过程作者:zdnet.co.uk2005-06-0705:0PM网络恐怖主义是一种真的存在的威胁还是仅仅是网络安全日常维护工作中的一种困惑?”我们的敌人将使用我们的技术来和我们做斗争…事实是他们可能来自于第三世界国家,他们不会以任何方式告诉我们,他们不会使用哪些技术以及他们将会用何种方式使用我们的技术。他们将会发现那些我们应该构建安全但是我们没有考虑到的地方,然后他们就会利用这些漏洞。”本

    2025年9月25日
    6
  • HDLBits答案(12)_Verilog移位寄存器「建议收藏」

    HDLBits答案(12)_Verilog移位寄存器「建议收藏」Verilog移位寄存器HDLBits链接前言今天更新一节寄存器相关内容,其中涉及CRC校验的内容是用线性反馈移位寄存器搭建而成的。题库题目描述1:构建一个4bit的移位寄存器(右移),含异步复位、同步加载和使能areset:让寄存器复位为0load:加载4bit数据到移位寄存器中,不移位ena:使能右移q:移位寄存器中的内容Solution1:moduletop_module(inputclk,inputareset,//asyncacti

    2022年7月16日
    16
  • 网络协议篇之SNMP协议(一)——SNMP报文协议

    网络协议篇之SNMP协议(一)——SNMP报文协议前言:最近工作中遇到大量的网络协议开发,现就其中一些网络协议的基础知识进行整理,文中借鉴了一些大神的整理,后面会贴上链接,如侵删)

    2022年10月17日
    5
  • 首发「快思考、慢思考统一模型」,全国产深度推理大模型讯飞星火 X1 升级突破

    首发「快思考、慢思考统一模型」,全国产深度推理大模型讯飞星火 X1 升级突破

    2026年3月14日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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