android system.img
哥们要我做些模拟包,给过来的是mtk的底包,需要从system.img中提取部分文件。
网上一找资料,说是yaffs2文件系统,同时以前做linux的时候也是用yaffs2,感觉碰到老朋友了,不管三七二十一,跟着就用uyaffs工具解文件,但怎么都是一个error。
后面同事帮忙把文件算是弄出来了,网上一查,原来从android从2.3版本起就推荐用ext4文件系统。内部储存伴随着从raw nand flash 到 emmc的变化。
而ext4默认制作出来的img会有很多空白的数据,文件比较大,又整了个-s的参数来对该img进行压缩,所以默认做出来的img不能直接mount成ext4文件系统,需要用simg2img工具解压成正常的ext4 img文件。
但这里还是有点不明白,用sudo fdisk -l tmp.img,查看解压出来的img
Disk tmp.img: 461 MB, 461373440 bytes
255 heads, 63 sectors/track, 56 cylinders, total 901120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk tmp.img doesn't contain a valid partition table
发现这个文件根本没有分区表,暂时还没搞懂真没回事
如果要把一个文件夹制作成该格式的文件,只用make_ext4fs就行了
如果要跟踪makefile system.img生成流程,其实很简单:
在makefile里面BUILT_SYSTEMIMAGE调用build/tools/releasetools/build_image.py进行分区处理,包括其他如data分区也是一样,他们会把处理的结果保存到$OUT/obj/PACKAGING里面。
build_image.py还会调用system/extras/ext4_utils/mkuserimg.sh,而mkuserimg.sh就调用make_ext4fs真正处理。
参考:
http://elinux.org/Android_File_Systems
https://lwn.net/Articles/440690/
http://arstechnica.com/information-technology/2010/12/ext4-filesystem-hits-android-no-need-to-fear-data-loss/
android system.img的更多相关文章
- The behavior of App killed or restored by Android System or by users
What's the behavior of App killed or restored by Android System or by users? First, user kills the a ...
- 解决appium自带的Chromedriver版本和设备Android System Webview版本不一致的问题
报错信息 selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred w ...
- 图解Android - System Service 概论 和 Android GUI 系统
通过 图解Android - Binder 和 Service 一文中,我们已经分析了Binder 和 Service的工作原理.接下来,我们来简要分析Android 系统里面都有哪些重要的Servi ...
- Android Capture Android System Audio
项目需要获取播放视频的实时音量值,最简捷的方法是监听音频输出端,取得音频输出流,再进行转换. 调查时,首先找到这篇博客: http://blog.csdn.net/jinzhuojun/article ...
- Android System Property 解析
一 System Property 今天在折腾HDMI 显示,为Setting提供接口,遇到非常多跟Android系统属性相关的问题.因此,顺便分析和总结一些. android的代码中大量 ...
- Hooking Android System Calls for Pleasure and Benefit
The Android kernel is a powerful ally to the reverse engineer. While regular Android apps are hopele ...
- 安卓系统广播暴露设备信息-Android System Broadcasts Expose Device Information
Android device details are being exposed to running applications via Wi-Fi broadcasts in the mobile ...
- 编译android --system,framework
在你的android 目录下: sudo git clone https://android.googlesource.com/platform/manifest cd manifest git b ...
- Android /system/build.prop 文件
# begin build properties (开始设置系统性能) # autogenerated by buildinfo.sh (通过设置形成系统信息) ro.build.id=GRI40 ( ...
随机推荐
- Python filter,map,lambda,reduce,列表解析
filter用法 filter(func,seq) 将seq的元素逐一代入func,通过func的返回值来判断是保留还是过滤 >>> def foo(x): return x> ...
- oracle 利用flashback将备库激活为read wirte(10g 及上)
oracle 利用flashback将备库激活为read wirte(10g 及上) 环境: OS: CENTOS 6.5 X64 DB: ORACLE 10.2.0.5 主库操作: SQL> ...
- 含大量行的订单创建时候creditlimit校验最耗时间
含大量行的订单创建时候creditlimit校验最耗时间
- 转一篇老外写的博文:Android automated testing (Robotium)
Robotium的中文资料甚少,只得求助于老外,发现了一篇不错的文章:https://blog.codecentric.de/en/2011/03/android-automated-testing- ...
- linux 源码安装
下载源码安装包,一般为.tar.gz格式 解压源码至文件夹,linux终端进入该文件夹,安装只需三步,第四步为扫尾工作: ./configure --prefix=/usr/self/文件夹名称 ...
- js 用延时函数来实现像鼠标移入qq头像然后会出现新的模块
就好像这功能. 代码如下 <style> #div1{ width:50px; height:50px; background:red; margin-bottom:10px; } #di ...
- IE请求访问的设置
1:问题 目前有个项目采用AngularJs发送Restful风格的请求的方式来实现前后端的通信,测试人员在使用IE浏览器进行测试的时候发现,有时候请求发送不到后台,后来经查找发现是由于IE浏览器的默 ...
- Asp.net 怎样去除表单多行文本框滚动条
<textarea style="overflow:hidden;border-width:0px;">永远没有滚动条</textarea><text ...
- js 淡入淡出的图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Excel 数值转换为人民币大写金额字符串
把$B$27单元格中的数值转换为人民币大写金额字符串: 目标单元格填入以下公式: =IF($B$27=0,CONCATENATE(IF($B$27<=0,,TEXT(INT($B$27),&qu ...