1.系统开机启动监听mount服务
android sdcard热插拔监测和执行是由vold守护进程管理的,系统开机会读取初始化配置文件init.rc,高通的init.rc位于/system/core/rootdir/xxx/etc/下
里面默认启动vold服务。
如果要对该文件作出修改,要重新编译一下boot.img镜像文件,烧录进android系统,之后可以在android的文件系统根目录找到init.rc文件。
也可以在init.rc增加多一些我们想要的文件目录,比如增加一个可以存放多分区挂载的目录等
2.默认设备节点在Android系统的哪个目录
usbdisk或者sdcard热插拔的时候,kernel会发出命令执行mount或者umount操作,但这都是驱动级的。
而mount目录会在android文件系统目录下:/dev/block/vold这个目录由vold生成,用来存放所有的usbdisk或者sdcard的设备节点
可以根据这个目录找到如下节点:
ls /dev/block/vold/
disk:179, 64 public: 179_65
0代表当前的整个设备,1代表当前设备的分区名称代号。
3.vold.fstab 配置文件的分析
vold里面会通过指定文件来读取预先配置好的sdcard或者多分区配置文件,该文件位于/system/core/rootdir/etc/vold.fstab
高通的这个文件在/device/qcom/xxx/下
文件配置内容如图