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. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. Android(安卓)修改spinner 字体颜色 样式的方法
  4. Android(安卓)资源(resource)学习小结
  5. android应用程序快速启动秘诀
  6. android应用程序分享,蓝牙文件传输(代码)
  7. Android关键资源详解
  8. Android持久化之文件的读取与写入
  9. Android使用本地svg及不显示问题解决

随机推荐

  1. Android APK开发 Drawable文件夹下的自定
  2. 全面认识Android中Gradle相关配置文件
  3. Android 的 Activity 组件详解
  4. 转:教程:实现Android的不同精度的定位(基于
  5. Android横竖屏切换的生命周期
  6. Android应用程序组件概述
  7. android原生分享遇到的一个小问题
  8. 【Android】音乐播放器边播边缓存(二)Andro
  9. 翻译Android USB HOST API
  10. Android 中自定义权限