jsjson 发表于 2011-5-8 20:37

【制作安卓刷机包B】---定制update.zip刷机包

自已制作ROM 从官方原生ROM(system.img)定制update.zip刷机包

要定制自已ROM首先要从官方原生ROM提取system.img
http://bbs.ihei5.com/thread-146620-1-1.html


system.img这个系统文件解包并打包成update.zip的形式用来刷机,update.zip制作步骤:

一、准备工作:

    1、提取 system.img , 提取到后,把 system.img 放到你的 linux 操作环境可以访问的某个文件夹,例如 system/system.img ,尽量把文件夹命名成 system ,以后就不用修改压缩包了(Linux 的路径书写方式,这里需要提示一点,Linux 终端是对大小写敏感的,请注意。)
    2、Linux 操作环境(任意的,例如:虚拟机安装、虚拟机LiveCD、实机安装、实机LiveCD等等)
    3、img 解包工具unyaffs (百度下载)


二、解包system.img文件   

    1、启动Linux并以root 用户登录(如何用root登录,自己在网上搜索一下吧),把刚才解压的 unyaffs 复制到 /bin 文件夹下

    2、启动终端,进入 /bin 文件夹(cd /bin),输入如下命令 sudo chmod 777 unyaffs (赋予 unyaffs 执行权限)

    3、进入刚才存放 system.img 文件夹,(例如我的是/media/Soft/system/(这里的media是挂载的硬盘分区,Soft是硬盘分区卷标(我的是F盘))里,执行命令 unyaffs system.img (解包 img 的命令行)

    4、进入system文件夹删除 system.img 文件

    5、在终端命令行状态下输入命令 sudo chmod -R 777 * (为 system 文件夹下所有目录和文件赋予最高权限)


三、打包最原始的 update.zip


1、在终端命令行状态下输入命令返回 system的上一级目录(父目录)


2、在终端命令行下执行 zip -r system.zip system(把system文件夹打包成zip文件)


3、把system.zip文件夹重命名为 update.zip 备用,system 文件可以删除了(如果以后需要从这里提取原机程序,是可以保留的)


四、修改 update.zip 为可刷机的ROM包

    1、重新启动计算机,进入windows操作系统
    2、这里我们需要两个东东:① 刷机脚本 ② 内核(boot.img)。其中刷机脚本可以从其他大侠的rom里提取,(提取整个 META-INF 文件夹)这里就不再赘述,下面会提供一个最基本的(详细的刷机脚本命令正在研究,这个需要看Recovery的源代码来确定);boot.img (必须适用你的机型)在 提取官方原生(RUU/.exe)ROM刷机文件 教程中在那个压缩文件里就有,也可以从大侠们的rom里提取。

基本的升级脚本update-script代码show_progress 0.1 0

format SYSTEM:
copy_dir PACKAGE:system SYSTEM:
show_progress 0.2 0
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 10
其中show_progreess x.x x 是在刷机的时候显示进度的

formatSYSTEM:是格式化 system 用的

copy_dir PACKAGE:system SYSTEM: 是把升级包里的system文件夹复制到system分区

write_raw_image PACKAGE:boot.img BOOT: 刷写包内的boot.img(内核的)
(具体详细的代码请参照一定定制的刷机包中的相同文件)

3、准备好了 update.zip、META-INF 文件夹 boot.img 内核映象,就可以开始了,用 winrar 打开 update.zip 文件(不是解压缩),把 META-INF boot.img 直接拖进压缩包里,然后用签名工具对新的 update.zip 签名就可以了。


4、签名工具下载:   Rom-sign.(百度下载)

签名方法:把下载的 Rom-sign 解压,把新的 update.zip 文件放到该文件夹,运行 Sign.bat 批处理文件就可以了(这里需要注意的是,zip文件的文件名必须为 update.zip)等待批处理运行完毕后,该目录下会生成已经签名的 update_signed.zip。


jsjson 发表于 2011-5-8 20:37

说的 很笼统的,,毕竟包的 具体的 怎么样 ,,看个人 能力的

蓝星 发表于 2011-5-8 20:37

了解了解~~~~~~~

__画地为牢 发表于 2011-5-8 20:40

菜鸟路过……

DesertEagle 发表于 2011-5-8 21:00

支持一下。。。

冰与水的距离 发表于 2011-5-8 21:09

只顶一下      @

zenws 发表于 2011-7-1 11:19

顶,正是因为这样的技术贴才让我注册的!

雨点下落 发表于 2011-7-5 13:16

不懂啊      

追梦 发表于 2011-7-14 17:11

主持一下子

wandoujia 发表于 2011-7-17 18:39

楼主好领导 好斑竹~~~
页: [1] 2
查看完整版本: 【制作安卓刷机包B】---定制update.zip刷机包