recovery: ASCII cpio archive (SVR4 with no CRC)——cpio格式的recovery解压缩和重新打包的方法
2014-05-07 09:49
1386 查看
中兴U930HD手机CPU采用的是联芯科技的LC1810,该平台系统的recovery.img 和boot.img 的打包格式跟其他平台(如高通、MTK、英伟达等)不一致,研究了半天终于将930HD的recovery替换了,步骤如下
1、用第三方工具root手机之后,采用dd命令导出recovery.img到sd卡
adb shell
su
dd if=/dev/block/platform/comip-mmc.1/by-name/recovery of=/sdcard/recovery.img
导出后发现只有1M左右的大小,理论上按照android标准格式应该有6 M以上,甚至10多M,奇怪了。。。。。。
到Linux环境下,采用 file命令查看文件格式
file recovery.img
//输出
recovery.img: gzip compressed data, was "recovery", from Unix, last modified: Wed May 7 09:25:06 2014
原来这个img是个gzip的压缩包,那就好办了,解压缩来看看到底什么东东。。。
2、解压缩recovery.img
gunzip -S .img
recovery.img //因为后缀不是.gz,所以用-S 选项
在当前目录下生成新的recovery文件,在用file命令查看
file recovery
recovery: ASCII cpio archive (SVR4 with no CRC)
原来是一个cpio格式的文件
怎么样,心里是不是暗自得意了?有戏了。。。。
再次解压cpio文件
先创建一个recovery_ok的目录
mkdir recovery_ok
cd
recovery_ok
cpio -i -F ../recovery
ls -al 命令查看发现里面的目录结构就是根文件系统ramdisk的结构。
从这里大概就知道了,原来联芯方案的recovery.img仅仅是包含了ramdisk,而没有包含kernel。
接下来替换掉sbin目录下的recovery二进制程序。
3、重新打包生成recovery.img
也就是个逆过程,首先用cpio命令,再用gzip命令
find . | cpio -o -H newc > ../recovery
3009 blocks
gzip -c
recovery >
recovery.img
这个recovery.img就是我们最新生成的recovery,用adb命令重新烧写到手机里即可体现,具体烧写过程请参考博文
Android
采用fastboot刷system.img boot.img recovery.img
1、用第三方工具root手机之后,采用dd命令导出recovery.img到sd卡
adb shell
su
dd if=/dev/block/platform/comip-mmc.1/by-name/recovery of=/sdcard/recovery.img
导出后发现只有1M左右的大小,理论上按照android标准格式应该有6 M以上,甚至10多M,奇怪了。。。。。。
到Linux环境下,采用 file命令查看文件格式
file recovery.img
//输出
recovery.img: gzip compressed data, was "recovery", from Unix, last modified: Wed May 7 09:25:06 2014
原来这个img是个gzip的压缩包,那就好办了,解压缩来看看到底什么东东。。。
2、解压缩recovery.img
gunzip -S .img
recovery.img //因为后缀不是.gz,所以用-S 选项
在当前目录下生成新的recovery文件,在用file命令查看
file recovery
recovery: ASCII cpio archive (SVR4 with no CRC)
原来是一个cpio格式的文件
怎么样,心里是不是暗自得意了?有戏了。。。。
再次解压cpio文件
先创建一个recovery_ok的目录
mkdir recovery_ok
cd
recovery_ok
cpio -i -F ../recovery
ls -al 命令查看发现里面的目录结构就是根文件系统ramdisk的结构。
从这里大概就知道了,原来联芯方案的recovery.img仅仅是包含了ramdisk,而没有包含kernel。
接下来替换掉sbin目录下的recovery二进制程序。
3、重新打包生成recovery.img
也就是个逆过程,首先用cpio命令,再用gzip命令
find . | cpio -o -H newc > ../recovery
3009 blocks
gzip -c
recovery >
recovery.img
这个recovery.img就是我们最新生成的recovery,用adb命令重新烧写到手机里即可体现,具体烧写过程请参考博文
Android
采用fastboot刷system.img boot.img recovery.img
相关文章推荐
- recovery: ASCII cpio archive (SVR4 with no CRC)——cpio格式的recovery解压缩和重新打包的方
- ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or DB_RECOVERY_FILE_DEST【error收集】
- Hibernate3.x异常No row with the given identifier exists 解决方法
- jar反编译再重新打包方法
- MSSQL - 尚未备份数据库 xxxx 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLA
- 用cocos2dx打包时出现“make.exe: *** No rule to make target ”的解决方法
- ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected解决方法
- Tar打包、压缩与解压缩到指定目录的方法
- AndroidStudio关于EventBus报错解决方法its super classes have no public methods with the @Subscribe
- linux 下所有格式打包解压方法(tar、bz2、rar)详解
- error C2787: 'IxxxxObject' no GUID has been associated with thisobject解决方法
- linux下各种格式的文档包的打包和解包方法
- 警告: No mapping found for HTTP request with URI [/web002/list.do] in DispatcherServlet 的解决方法
- iOS: NSData的方法initWithBytesNoCopy:length:freeWhenDone:
- 解决 No mapping found for HTTP request with URI的方法
- bundle打包自动转换tiff格式的处理方法
- android源码编译出现No private recovery resources for TARGET_DEVICE解决方法
- tar zip 打包、压缩与解压缩到指定目录的方法
- 解决spring mvc No mapping found for HTTP request with URI错误的三种方法
- iOS: NSKeyedUnarchiver的方法unarchiveObjectWithFile: