设为首页收藏本站

移动叔叔

搜索
查看: 50561|回复: 0

如何编辑、打包system.img文件

  [复制链接]
发表于 2012-2-3 14:32:27 | 显示全部楼层 |阅读模式

各位使用MTK提供的flash_tool进行刷机时,有否注意到刷机包中有一个system.img文件?实际上

不管是何种平台,Android系统代码编译完成后,都会生成system.img这个文件。 它是Android系统最重要的目标文件,其中包含整个Android部分的镜像

本文介绍如何解包、编辑、重新打包此文件。

1. system.img文件的格式

  system.img文件实际上是yaffs2格式的压缩包,关于yaffs2格式,如下是重要的参考链接:  . 官方网站:   http://www.yaffs.net/ . 百度百科: http://baike.baidu.com/view/1655597.htm  

2. 如何解压缩system.img文件

  unyaffs2这个工具是专门用于解压缩yaffs2包的,其官方网址如下: http://code.google.com/p/unyaffs2/     从这个网址下载到unyaffs2.c和unyaffs2.h后,gcc -o unyaffs2 unyaffs2.c即可得到此工具  然后unyaffs2 system.img,即可在当前目录下生成system.img中保存的所有文件。 为了不污染当前目录,  我一般会生成一个临时目录存放需要解压的system.img,然后在其中进行解压缩的工作。

3. 编辑解压后的内容及注意事项

  你可以用任意工具去编辑生成的文件。 到底哪些文件可以动,哪些不能动,请参看我的《MTK6573智能机平台系统文件夹文件详解》系列文章 你也可以在里面添加需要的文件,例如应用程序。  注意:类似于vi这样的工具,在编辑后会在当前目录生成临时文件,记得在编辑完成后,删除这些临时文件。

4. 重新打包

  打包要用到mkyaffs2image这个工具。这个工具在我们编译过程中会生成,存放在./out/host/linux-x86/bin/mkyaffs2image  但是你也可以从yaffs官方网站下载最新的代码自己来生成此工具,这对于你在Cygwin环境下使用这个工具特别方便。  从官方网站下载代码编译的方法如下:    。 git clone   git://www.aleph1.co.uk/yaffs2   。 cd yaffs2/utils  。 make  接下来,加入你要打包的文件都放在system这个目录下,你就可以用mkyaffs2image -f system system.img这个命令来打包。  然后它就可以被烧录到手机上使用了。     请记住一定要使用-f参数!! 这个参数保证最后烧录到手机后,所有的文件的权限、用户、组都符合目标手机的要求。否则  生成的system.img烧录到手机上后,会出现严重的权限问题。
您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /1 下一条

© 2008-2024 移动叔叔. 版权所有,专业的网络售后平台 ( 闽ICP备18006692号-3 )

商务合作点击这里给我发消息|Email:service@mobileuncle.com|手机版|Archiver|移动叔叔     

GMT+8, 2024-4-19 01:25 , Processed in 0.112064 second(s), 18 queries , Gzip On, Memcache On.

返回顶部