`
koliy
  • 浏览: 146926 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android-如何查看ramdisk system 文件

 
阅读更多
转载:
------------------------------------------------------
一.ramdisk.img


android编译后生成的ramdisk.img是一个gzip格式的文件
# file ramdisk.img
ramdisk.img: gzip compressed data, from Unix

那么先解压,因为后缀不是.gz,所以用-s 选项
gunzip -S .img ramdisk.img

这样生成了一个新文件ramdisk
查看是什么格式
# file ramdisk
ramdisk: ASCII cpio archive (SVR4 with no CRC)

ok,是一个cpio格式的文件
再次解压
先创建一个目录,假设叫rfs,并进入
# cpio -i -F ../ramdisk
512 blocks
ok,那么得到结果是
# ll
total 160
drwxrwx--x 2 root root   4096 2010-08-21 19:10 data
-rw-r--r-- 1 root root    118 2010-08-21 19:10 default.prop
drwxr-xr-x 2 root root   4096 2010-08-21 19:10 dev
-rwxr-x--- 1 root root 107412 2010-08-21 19:10 init
-rwxr-x--- 1 root root   1677 2010-08-21 19:10 init.goldfish.rc
-rwxr-x--- 1 root root  12995 2010-08-21 19:10 init.rc
drwxr-xr-x 2 root root   4096 2010-08-21 19:10 proc
drwxr-x--- 2 root root   4096 2010-08-21 19:10 sbin
drwxr-xr-x 2 root root   4096 2010-08-21 19:10 sys
drwxr-xr-x 2 root root   4096 2010-08-21 19:10 system

这就是全部内容了。

生成就是一个逆向的操作而已。

二.如何将目录打包成ramdisk.img
1.对ramdisk目录进行cpio生成
luther@gliethttp:/vobs/tmp/ramdisk$ find . | cpio -o -H newc > ../tmp_ramdisk.img
450 blocks
2.压缩成gz文件,生成我们需要的ramdisk.img
仅仅对生成的tmp_ramdisk.img进行gzip压缩就行了.
luther@gliethttp:/vobs/tmp$ gzip -c tmp_ramdisk.img > luther_ramdisk.img
这样我们新的ramdisk.img就成功生成了,把luther_ramdisk.img烧写到手机上即可[luther.gliethttp]


注:
其实ramdisk.img的内容就是/opt/froyo/out/target/product/generic/root的压缩而已。



二.system.img userdata.img


1 解压

    file system.img和userdata.img发现他们都是

     VMS Alpha executable类型.可通过以下命令来解压出来

    xyaffs2 img_file output_dir

    xyaffs2可以从下面找到:

    http://limodev.cn/download/xyaffs.tar.gz

    2 替换

    库文件在lib目录下,执行程序在xbin目录下,你可以把自己的库文件和执行程序放进去。

    3 打包

     mkyaffs2image [-f] [-c <size>] [-s <size>] dir image_file [convert]

     mkyaffs2image可以直接从yaffs2网站上找到,或者直接用android open source里面的。

     ./out/host/linux-x86/bin/mkyaffs2image
分享到:
评论

相关推荐

    解压android的updata.app文件bootimg.exe等

    --unpack-ramdisk [文件] [目录] [文件]为空时,使用ramdisk.gz [目录]为空时,使用initrd, (请保证这个目录不存在) 输出:cpiolist.txt, initrd目录下的文件 --repack-ramdisk [cpiolist] [cpiolist]为空时,读取...

    创建 Android 文件系统

    创建 Android 文件系统 system userdata ramdisk

    新版Android开发教程.rar

    The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android 1.1 SDK, Release 1. Supported Supported Supported ...

    Android4.2.2.rar

    Android4.2.2.rar Tiny4412开发板烧写的Android系统镜像。包含zImage文件、system.img文件、ramdisk-u.img和userdata.img文件等等。

    Android系统镜像文件的打包过程分析

    打包结果是获得一系列的镜像文件,例如system.img、boot.img、ramdisk.img、userdata.img和recovery.img等。这些镜像文件最终可以烧录到手机上运行。在本文中,我们就详细分析Android系统的镜像文件的打包过程。图1...

    Android 源码如何编译调试

    android提供的工具链和开发工具比较完善,因此... ramdisk.img、system.img、userdata.img、 system、 data、root  其中, system.img是由 system打包压缩得到的, userdata.img是由 data打包压缩得到的。  ramdisk

    Android 系统 Linux系统 内核kernel启动流程 init 进程介绍

    kernel_init() 函数介绍,ramdisk_execute_command,execute_command /sbin/init,/etc/init,/bin/init,/bin/sh 挂载tmpfs,mnt/vendor,mount/product分区,/system/bin/init/ selinux_setup,启动selinux(控制访问安全...

    fastboot-LT18i

    如:fastboot flash system /备份/system.img 4.擦除分区: $ fastboot erase {partition} 如:fastboot erase system 5.刷完整的系统: (未测试!!). 创建一个包含boot.img, system.img和recovery.img的zip压缩包...

    ROM开发工具箱3.0(正式版V3.01)

    * 修复 打包system.new.dat时无法判断文件是否存在问题 (2018/3/22) * 修复 单击其它功能显示无相关界面问题 (2018/3/26) ********* 更新支持Android 8.0 解压/打包 ********* 作者:孤梦。 如果使用过程出现任何...

    嵌入式Linux学习笔记—fastboot烧写Android

    镜像组合: Uboot 镜像“u-boot-iTOP-4412.bin” 、 内核镜像“zImage” 、文件系统“ramdisk-uboot.img”和“system.img”。 文件说明 1.“USB_fastboot_tool”是一个刷机工具,我把它理解为刷机脚本。flashtool不...

    刷机原理01 update.zip包目录结构

    update.zip包目录结构 boot.img是更新boot分区所需要的文件。这个boot.img主要包括kernel+ramdisk。 system/目录的内容在升级后会放在系统的system分区。在Android源码编译后out/target/product/generic/system/。

Global site tag (gtag.js) - Google Analytics