1. 编译整个android 的souce code,在编译之后会生成 ramdisk.img, system.img, userdata.img 三个 image 文件。
2. 解压 ramdisk.img :
mv ramdisk.img ramdisk.gz
mkdir out
cd out && cpio -i -F ../ramdisk.gz
3. 交叉编译busybox, 只要需要把 tar 编译进来。可以从 http://blog.chinaunix.net/u/20947/showart.php?id=1913228 下载。
4. 安装 busybox
adb shell
adb push busybox /data/busybox/busybox
cd /data/busybox; ./busybox --install
chmod 555 /system/bin/busybox
5. 拷贝 system 以及 data 目录
/data/busybox/busybox tar cvf /data/data.tar /data
/data/busybox/busybox tar cvf /data/system.tar /system
adb pull /data/system.tar system.tar
adb pull /data/data.tar data.tar
6. 把 system.tar 以及 data.tar 内容拷贝到ramdisk 解压的 system 和 data 目录下。
7. 创建 /dev 目录
7. 生成工具mkyaffs2image 及 mkyaffs
http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2/
./mkyaffs2image system/ system.img
8. 用 mkyaffs2image 创建整个root file system