Android ramdisk.img 分析、解压和压缩

本文详细介绍了RAM Disk的概念及其在Android系统中的应用,包括如何使用gzip压缩来解压RAM Disk镜像文件,并解释了Android Boot Image中的RAM Disk img文件的作用。文章还强调了修改init.rc脚本的重要性以及其对系统重启的影响。
摘要由CSDN通过智能技术生成

一、ramdisk介绍

ramdisk通过直面意思就大概能理解意思,ram disk虚拟内存盘,将ram模拟成硬盘来使用的文件系统。对于传统的磁盘文件系统来说,这样做的好处是可以极大提高文件访问速度;但由于是ram,所以在掉电后,这部分内容不能保存。ramdisk文件系统是在系统上电后直接从磁盘一次性加载到内存,在整个运行期间都不会有写回操作,所以,任何修改都掉电后丢失。

二、ramdisk.img介绍

ramdisk.img是编译Android生成的一个镜像文件,最后和kernel一起打包生成boot.img镜像。ramdisk.img中主要是存放android启动后第一个用户进程init可执行文件和init.*.rc等相关启动脚本以及sbin目录下的adbd工具。如下图所示


ramdisk.img是将上图目录打包压缩而来的,我们可以通过下面命令,来解压出其中的内容
首先使用file命令查看ramdisk.img文件类型

file ramdisk.img
ramdisk.img: gzip compressed data, from Unix
看出为gzip压缩过的文件,将ramdisk.img重命名为ramdisk.img.gz
mv ramdisk.img ramdisk.img.gz
再用file来看一下ramdisk.img,此时为
ramdisk.img: ASCII cpio archive (SVR4 with no CRC)
这时候使用cpio来提取ramdisk.img中的内容
 
mkdir temp
cp temp
cpio -i -F ../ramdisk.img



android的init.rc脚本就是ramdisk一个例子,在板子上修改是没有用的,重启丢失,只有修改device/平台/../init.rc然后重新make bootimage重新生产boot.img烧录到板子上才能修改成功。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值