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 ( ...
随机推荐
- 发送短信(string转换为JSON)
using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Linq;using System.T ...
- python 将字典的键&值从byte类型转换为str类型
def convert(data): if isinstance(data, bytes): return data.decode('ascii') if isinstance(data, dict) ...
- repeat语句
一.repeat语句格式repeat语句用于"重复执行循环体,直到指定的条件为真时为止" repeat语句格式:repeat 语句1; 语句2; -- 语句n;until ...
- django时区设置
1. 创建web目录 django-admin.py startproject mysite 2. 启动web服务 python manage.py runserver python manage.p ...
- [转] 解决HttpServletResponse输出的中文乱码问题
首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出“中国" ...
- COM调用 – VB、PB
本文使用Delphi和C++创建CRC32的COM文件(Dll). VB: V6.0 PB: V8.0 Delphi创建的文件,提供给VB6调用:C++创建的文件,提供给PB8调用. 一.VB部分 C ...
- 如何在博客中插入jsfiddle的代码
1.进入官网:https://jsfiddle.net/ 可以看到如下界面,顶端的控制按钮包括:保存,运行,代码格式化等: 2.将html.css.js分别写在指定的位置当中,最后一个框result是 ...
- Linux下find命令
转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 1.1.find命令的一般形式 man文档中给出的find命令的一般形 ...
- regression build test
Q: 什么是regression test以及为什么做regression test? A: fixing1进到build之后,QA/tester要进行手动测试,也可能会写automation.但是随 ...
- solrCloud 管理
创建collection: /soft/server/solr-4.10.0/example/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost ...