/*************************************************************************
* I.MX6 system.img unpack repack
* 说明:
* 以前的system.img直接ext4的,现在的system.img是data类型的,需要工具
* 进行转换才行,需要这些工具主要是还是为了减少开发中编译等待时间过长。
*
* 2016-9-10 深圳 南山平山村 曾剑锋
************************************************************************/ 一、参考文档:
. Android中system.img的两种格式及其相互转换方法
http://www.th7.cn/Program/Android/201501/381202.shtml
. ext4 unpack/repack tools
http://web.djodjo.org/article/download/android/tools/x86_linux/ext4tools 二、执行命令:
. source ./build/envsetup.sh
. make img2simg_host 三、编译输出信息:
......
including ./system/security/softkeymaster/Android.mk ...
including ./system/vold/Android.mk ...
including ./tools/external/fat32lib/Android.mk ...
*** Overlay change detected, clean shared intermediate files...
*** rm -rf out/target/common/obj/APPS/framework-res_intermediates out/target/common/obj/APPS/Launcher2_intermediates out/target/common/obj/APPS/SettingsProvider_intermediates out/target/common/obj/APPS/Settings_intermediates out/target/common/obj/APPS/Bluetooth_intermediates
Import includes file: out/host/linux-x86/obj32/EXECUTABLES/img2simg_host_intermediates/import_includes
Header: out/target/product/generic/obj/include/libexpat/expat.h
Header: out/target/product/generic/obj/include/libexpat/expat_external.h
Header: out/target/product/generic/obj/include/libpng/png.h
Header: out/target/product/generic/obj/include/libpng/pngconf.h
Header: out/target/product/generic/obj/include/libpng/pngusr.h
Header: out/target/product/generic/obj/include/selinux/selinux.h
Header: out/target/product/generic/obj/include/selinux/label.h
Header: out/target/product/generic/obj/include/selinux/context.h
Header: out/target/product/generic/obj/include/selinux/avc.h
Header: out/target/product/generic/obj/include/selinux/android.h
Header: out/target/product/generic/obj/include/libsonivox/eas.h
Header: out/target/product/generic/obj/include/libsonivox/eas_types.h
Header: out/target/product/generic/obj/include/libsonivox/eas_reverb.h
Header: out/target/product/generic/obj/include/libsonivox/jet.h
Header: out/target/product/generic/obj/include/libsonivox/ARM_synth_constants_gnu.inc
Header: out/target/product/generic/obj/include/libwpa_client/wpa_ctrl.h
Header: out/target/product/generic/obj/include/libwpa_client/qca-vendor.h
host C: img2simg_host <= system/core/libsparse/img2simg.c
Export includes file: system/core/libsparse/Android.mk -- out/host/linux-x86/obj32/EXECUTABLES/img2simg_host_intermediates/export_includes
host Executable: img2simg_host (out/host/linux-x86/obj32/EXECUTABLES/img2simg_host_intermediates/img2simg)
Install: out/host/linux-x86/bin/img2simg #### make completed successfully (: (mm:ss)) #### zengjf@zengjf:~/myandroid$ 四、真正的img2simg
. 上面编译出来的img2simg还是有问题,会报如下错误:
zengjf@zengjf:~/myandroid$ img2simg out/target/product/sabresd_6dq/obj/PACKAGING/systemimage_intermediates/system.img system.img
img2simg: ../../core/libsparse/sparse.c:: write_all_blocks: Assertion `pad >= ' failed.
Aborted (core dumped)
. 下载参考文档中的img2simg,验证可行。

I.MX6 system.img unpack repack的更多相关文章

  1. I.MX6 working note for high efficiency

    /**************************************************************************** * I.MX6 working note f ...

  2. openWRT自学---对官方的开发指导文档的解读和理解 记录1:编译一个package

    针对的是:http://kamikaze.openwrt.org/docs/openwrt.html#x1-390002 1.If you want, you can also modify the ...

  3. I.MX6 initramfs.cpio.gz.uboot unpack

    /********************************************************************************* * I.MX6 initramfs ...

  4. i.mx6 Android5.1.1 System server

    1. 概述: 1. Zygote进程是Android Java世界的开创者,所有的Java应用程序进程都由Zygote进程创建: 2. Zygote创建应用程序进程过程其实就是复制自身进程地址空间作为 ...

  5. I.MX6 Android 5.1 快速合成系统

    /**************************************************************************** * I.MX6 Android 5.1 快速 ...

  6. I.MX6 WIFI wireless_tools 移植

    /******************************************************************************** * I.MX6 WIFI wirel ...

  7. I.MX6 ubuntu-core-14.04 Apache php mysql Qt5

    /*************************************************************************** * I.MX6 ubuntu-core-14. ...

  8. Python学习——struct模块的pack、unpack示例

    he struct module includes functions for converting between strings of bytes and native Python data t ...

  9. I.MX6 uSDHC SD card register

    /**************************************************************************** * I.MX6 uSDHC SD card ...

随机推荐

  1. Redis命令行之String

    一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...

  2. Mac OS X 10.10.5 中 VirtualBox 5.0 里的 Win7 虚拟机无法使用 USB 3.0 设备的解决办法(补充说明)

    上一篇文章中,我说到了如何在Mac OS X 10.10.5 中让 VirtualBox 5.0 里的 Win7 虚拟机使用 USB 3.0.最近碰巧升级 MacBook Pro 为最新的 15 吋 ...

  3. T3054 高精度练习-文件操作 codevs

    http://codevs.cn/problem/3054/ 题目描述 Description   输入一组数据,将每个数据加1后输出 输入描述 Input Description 输入数据:两行,第 ...

  4. 枚举型变量 ErrorStatus HSEStartUpStatus及使用

    ErrorStatus和C语言中的int .char一样,后面定义的HSEStartUpStatus是这个变量.举例,你的ErrorStatus 代表bool类型的0或者1. typedef enum ...

  5. 转:c++ 11 新特性

    声 明:本文源自 Danny Kalev 在 2011 年 6 月 21 日发表的<The Biggest Changes in C++11(and Why You Should Care)&g ...

  6. Java中的final关键字(转)

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  7. Python基础语法05--函数模块

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  8. 关于Memcached的CAS和Set方法造成Socket泄漏的问题

    为了解决多并发下写Memcached的冲突方案,我们项目组引入了CAS机制.类同于Java并发包中的CAS(Compareand set)原子操作,用来处理同一个Item被多个线程更改的并发问题.Me ...

  9. val();html();.text()区别 setInterval与setTimeout的区别

    val();html();.text()区别   对于innerHTML 属性,几乎所有的元素都有innerHTML属性,它是一个字符串,用来设置或获取位于对象起始和结束标签内的HTML.(获取HTM ...

  10. JAVA WEB学习笔记(二):Tomcat服务器的安装及配置

    一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...