1. 安卓recovery的“实质”是什么?ramdisk?还是一个独立的rootfs?如何解压看看里面的东西?如果可以,里面的东西可以直接放到一个合适的linux环境下用吗?
recovery image的实质就是内核镜像 + recovery ramdisk的一个合成镜像。类似于Android的boot image(内核镜像+init ramdisk), recovery image可以用于启动设备到一个特定的"recovery"环境。如果在启动前,系统没有设定默认的recovery选项(比如OTA更新系统),它会启动一个用户界面(recovery UI)来让用户选择完成特定的功能,比如从SD卡安装zip格式的系统更新包等等。
recovery ramdisk的内容默认在build目录的out/target/product/<product name>/recovery目录下,你可以看得到。
2. 如何不用superboot,制作一个sd卡上的linux或者安卓的 rootfs,并且可以直接运行?稳定吗?能识别到板子上的nand flash并且对他进行读写操作吗?
当然可以,这和PC上的Linux用硬盘分区上的文件系统是一样的。SD卡是和硬盘一样的存储设备,没有本质区别。事实上,现在大多数比较新的Android设备用的都是内建的eMMC(类似于SD卡的存储设备)上的文件系统镜像,通过ext4这样的文件系统格式可以达到和NAND Flash上的yaffs2一样的稳定性。而且烧写更加简单(软件上不需要考虑OOB, ECC)。
能否操作nand flash取决于内核里的NAND Flash控制器驱动和MTD层支持,和文件系统是否在eMMC上没有关系。
[ 此帖被kasim在2012-11-11 22:44重新编辑 ]