1 查看文件格式: file ramdisk.img
ramdisk.img: gzip compressed data, from Unix
可知ramdisk.img是一个压缩包,当然ramdisk.img的压缩不是必需的
2 解压ramdisk.img压缩包: gunzip -S .img ramdisk.img
由于文件名不是.gz,所以要加-S,解压后生成了ramdisk这个文件
3 查看解压后文件ramdisk: file ramdisk
ramdisk: ASCII cpio archive (SVR4 with no CRC)
可知是cpio打包的文件
4 unpack 打包文件ramdisk: mkdir rootfs; cd rootfs; cpio -i -F ../ramdisk; ls
data dev init.goldfish.rc proc sys ueventd.goldfish.rc
default.prop init init.rc sbin system ueventd.rc
这就是全部文件了
此后我们就可以修改rootfs下的文件,想使用修改后的rootfs,只要对rootfs重新打包为ramdisk.img即可
二、 制作Ramdisk
1 生成cpio 包: cd rootfs; find . | cpio -o -H newc > ../ramdisk
2 压缩cpio包: gzip -c ramdisk > ramdisk.img
新生成的ramdisk.img包含所做的修改了
======================================================
Extract the ramdisk.
# mkdir ramdisk
# cd ramdisk
# gzip -dc ../*-ramdisk.gz | cpio -i
# cd ..
Make any changes necessary (e.g., set ro.secure=0 in default.prop).
Recreate the cpio archive using the mkbootfs binary produced from building the Android source code (The cpio utility in OS X does not recognize the newc format, therefore mkbootfs is the best option for OS X users).
# mkbootfs ./ramdisk | gzip > ramdisk-new.gz
Recreate the image file using the mkbootimg binary produced from building the Android source code.
# mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel boot.img-kernel --ramdisk ramdisk-new.gz -o boot-new.img --base 0x20000000
Make any changes necessary (e.g., set ro.secure=0 in default.prop).

本文档详细介绍了如何解压并编辑Android的ramdisk.img镜像文件,包括使用mkbootfs和mkbootimg工具进行操作,以及在default.prop中设置ro.secure=0等修改。
2274





