bootimg的详细介绍.doc_第1页
bootimg的详细介绍.doc_第2页
bootimg的详细介绍.doc_第3页
bootimg的详细介绍.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

bootimg的详细介绍&使用 adb的强大之处在于可以在PC端直接操控手机,可以说是通用的工具!那么今天带来的这款工具的强大,估计会让爱好者灰常之兴奋,用好这款工具你就可以动手修改boot.img了,而不是简简单单的精简ROM或者美化美化加加字体等每个人都可以完成的工作!个人常用功能 1、解包/打包boot.img/recovery.img 2、解包/打包ramdisk 3、解包data/system.img 4、解密/生成rle加密图片(开机第二屏图片,不是开机动画哦) 另外:还支持解包updata.app(本人未用过)背景知识一、Android手机的文件系统Android手机的文件系统有许多存储器组成,以下是在adb shell下面的输出:#1. cat/proc/mtd复制代码注意,不同的手机在上述存储设备的顺序可能会各不相同!一定要检查您的手机,确定在以下的操作中选择正确的设备号(mtdX,这个X的序号一定要检查清楚)。根目录以及分区的定义(在Android源代码的root.c文件中定义)根目录:Linux 块设备/挂载点/文件系统大小描述BOOT:/dev/mtdblock?/(RAM)Raw内核、内存盘和引导配置。DATA:/dev/mtdblock5/data/yaffs291904kb用户、系统配置,软件配置以及软件(没有a2sd的话)CACHE:/dev/mtdblock4/cache/yaffs230720kbOTA缓存,recovery/更新配置及临时文件夹MISC:/dev/mtdblock?N/ARaw,?kb(等待添加)PACKAGE:(相对于刷机包)N/A刷机包的伪文件系统。RECOVERY:/dev/mtdblock?/(RAM)Raw,?kbrecovery和更新环境的内核和内存盘。类似于BOOT:。SDCARD:/dev/mmcblk0(p1)/sdcard/fat3232MB-32GBTF卡。通常刷机包就放在这里。SYSTEM:/dev/mtdblock3/system/yaffs292160kb系统分区,静态且是只读的。TMP:/tmp/(RAM)标准的Linux临时文件夹在关机/重启时清空。您首先应该要做的事情是使用您的recovery对您的ROM进行备份,以免操作失误照成数据的丢失!二、boot和recovery映像的文件结构boot和recovery映像并不是一个完整的文件系统,它们是一种android自定义的文件格式,该格式包括了2K的文件头,后面紧跟着是用gzip压缩过的内核,再后面是一个ramdisk内存盘,然后紧跟着第二阶段的载入器程序(这个载入器程序是可选的,在某些映像中或许没有这部分)。/* +-+ * | boot header | 1 page* +-+* | kernel | n pages* +-+* | ramdisk | m pages* +-+* | second stage| o pages* +-+* n = (kernel_size + page_size - 1) / page_size* m = (ramdisk_size + page_size - 1) / page_size* o = (second_size + page_size - 1) / page_size* 0. all entities are page_size aligned in flash* 1. kernel and ramdisk are required (size != 0)* 2. second is optional (second_size = 0 - no second)* 3. load each element (kernel, ramdisk, second) at* the specified physical address (kernel_addr, etc)* 4. prepare tags at tag_addr.kernel_args is* appended to the kernel commandline in the tags.* 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr* 6. if second_size != 0: jump to second_addr* else: jump to kernel_addr*/boot的ramdisk映像是一个最基础的小型文件系统,它包括了初始化系统所需要的全部核心文件,例如:初始化init进程以及init.rc(可以用于设置很多系统的参数)等文件。以下是一个典型的ramdisk中包含的文件目录列表:pinitinit.goldfish.rcinit.rcinit.swift.rcinitlogo.rle /开机第二屏图片ueventd.goldfish.rcueventd.rcueventd.swift.rcdatadevprocsbin adbdsyssystemrecovery的ramdisk映像包含了一些额外的文件,例如一个叫做recovery的二进制程序,以及一些对该程序支持性的资源图片文件(当您按下home+power组合键的时候就会运行这个recovery程序)。典型的文件列表如下:pinitinit.rcinitlogo.rle /开机第二屏图片ueventd.goldfish.rcueventd.rcueventd.swift.rcdatadevetc recovery.fstabprocreskeysimages icon_clockwork.png icon_error.png icon_installing.png indeterminate1.png indeterminate2.png indeterminate3.png indeterminate4.png indeterminate5.png indeterminate6.png progress_empty.png pr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论