分类: LINUX
2010-06-07 15:47:30
android模拟器用到的系统image有:
kernel-qemu:linux kernel 如何修改就不说了,N多文档
ramdisk.img zip压缩得CPIO包,修改说明看下面。
system.img和userdata.img yaffs2的文件系统image,如何修改看下面。
解压yaffs2文件系统image,可以使用这个工具,很方便。
======================================================================
重新生成system.img, 用下面方法生成system.img。
以修改services模块为例,命令如下:
cd frameworks/base/services
mm
cd -
out/host/linux-x86/bin/mkyaffs2image -f out/target/product/generic/system out/target/product/generic/system.img
userdata.img类似。
======================================================================
ramdisk.img,这是一个ZIP压缩的CPIO包,压缩和解压如下:
首先改名
mv ramdisk.img ramdisk.img.gz
gzip -d ramdisk.img.gz
建空目录
mkdir ramdisk
cd ramdisk
解压
cpio -i -F ../ramdisk.img
把要改的東西改完
生成要pack的目录list,也可以自己列
cpio -i -t -F ../ramdisk.img > list
根据list去pack new.img
cpio -o -H newc -O new.img < list
最后压缩
gzip new.img
======================================================================
system.img 通常默认是以read only 的形式被挂接的,可以通过设置init.rc 修改 system.img 的挂接方式,从而使得 system.img 可写。找到文件 ramdisk.img中的init.rc
修改: mount yaffs2 mtd@system /system ro remount
为 : mount yaffs2 mtd@system /system rw remount 即可。