参考 https://www.cnblogs.com/xiaolei-kaiyuan/p/5501104.html

我们知道android有很多分区,如"system","userdata","cache",他们是何时挂载的?如何挂载的?这个系列的文章进行分析。
这里介绍第一部分,android手机正常开机各分区的挂载。这里我们以mtk平台进行分析,高通与mtk差别不是很大。

我们知道kernel起来以后执行的第一个文件是init进程,init进程会根据init.rc的规则启动进程或者服务。init.rc通过"import /init.${ro.hardware}.rc"语句导入平台的规则。
device/mediatek/mt6735/init.mt6735.rc 
    on fs
         write /proc/bootprof "INIT:Mount_START"
         mount_all /fstab.mt6735
         exec /system/bin/tune2fs -O has_journal -u 10010 -r 4096 /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/userdata
         write /proc/bootprof "INIT:Mount_END"

mount_all是一条命令,/fstab.mt6735 是传入的参数
fstab.mt6735生成在out目录下 
    ./out/target/product/xxx/obj/FAKE/fstab.mt6735
    ./out/target/product/xxx/obj/FAKE/fstab.mt6735_intermediates/fstab.mt6735
    ./out/target/product/xxx/root/fstab.mt6735
    ./out/target/product/xxx/recovery/root/fstab.mt6735
生成这个文件的源文件位于./vendor/mediatek/proprietary/hardware/fstab/mt6735/ 

system/core/init/keywords.h

.....
   KEYWORD(mount_all,   COMMAND, 1, do_mount_all)

.......
.....         

更多相关文章

  1. Android 自定义文件路径选择器
  2. Android studio怎样添加assets文件
  3. 反编译和重新打包Android的dex文件
  4. Android中最重要的采用pull解析xml文件
  5. 修改Android Studio默认配置文件路径
  6. Android XML文件中的@、?、@+的该怎么理解?
  7. Android当前任务管理器不显示应用进程

随机推荐

  1. Android之MVVM架构指南(五):ViewModel
  2. JWT在Java和Android中的使用
  3. android中OkHttp的导入和get、post请求的
  4. react-native启动android service bug解
  5. 属性动画(Property Animation)
  6. Android加载Class的思考
  7. Android(安卓)Studio上使用OpenCV-androi
  8. android ndk的使用
  9. Android(安卓)P (9.0) 之Init进程源码分
  10. fiddle android