Android 的文件系统以ramdisk.img 形式压缩,在系统启动时每次都启动解压挂载之;

Android 文件系统中/data 目录主要存放用户数据,以userdata.img 形式压缩,在系统挂载完总文件系统后解压该镜象文件并复制其中的内容至文件系统中的/data 目录下。

Android 文件系统中/system 目录主要存放系统数据,以system.img 形式压缩,在系统挂载完文件系统后解压该镜象文件并复制其中的内容至文件系统中的/data 目录下。

系统运行过程用户可以对用户数据/data 目录,进行读写操作(adb shell mount 可证明),并且操作在关机后被保存下来。如何实现(--猜每次关机前会把/data 重新压缩更新成一个新userdata.img 。)

系统运行过程中用户不可以对系统数据/system 目录,进行写操作,只能读。所以system.img 是不会被更新的。

同理系统运行过程文件系统框架也不会被改变,所以ramdisk.img 也是不会被更新的。

(不可理解的是既然都在运行时不能不修改为什么要把/system 单独做成一个镜象,而不是直接做在ramdisk,img 中,这样在启动时还可以省去解压挂载/system 这个步骤对应init.rc 中如下步骤:

# Mount /system rw first to give the filesystem a chance to save a checkpoint

mount yaffs2 mtd@system /system

mount yaffs2 mtd@system /system ro remou

要把busybox 安装到Android 文件系统中,可以把busybox 命令adb push/data 下,这样也能实现在开机busybox 仍然存在;

但是为了保证环境变量开机恢复必须使修改的init.rc 文件也开机保证修改,但该文件在根目录下,每次开机系统都会导入ramdisk.img 中原来的init.rc 文件,所以要实现可保存的修改只能修改ramdisk.img 中的init.rc 文件。具体方法略。

实现上面两点就可以实现busyboxAndroid 的永久安装。

更多相关文章

  1. android 工程中重新生成gen文件夹或R.java 文件
  2. [转载]Android布局文件中命名空间的解析
  3. 浅谈Android与Linux系统的差异
  4. Android Layout布局文件里的android:layout_height等属性不起作
  5. Android 下载的三种实现方式(文件流的读写方式下载,用DownloadMan
  6. Android 自定义View及其在布局文件中的使用示例
  7. Google手机操作系统Android将100%开源

随机推荐

  1. Android学习笔记(二三): 多页显示-Flipper的
  2. 第一天
  3. 享受Android应用程序的Java技术盛宴
  4. Android(安卓)之shape 的用法介绍
  5. 善用Android预定义样式
  6. Android开发中 AndroidManifest.xml配置
  7. android 布局文件属性说明
  8. Android异步处理一:使用Thread+Handler实
  9. Android嵌入式底层开发技术(应试)
  10. Android(安卓)rest接口