Android— 4.2 Vold
从kernel层到framework层 根据源码分析android的Vold 磁盘挂载机制
南丶烟
这个作者很懒,什么都没留下…
展开
-
Android—— 4.2 Vold挂载管理_mmcblk内置-双sdcard (八)
不同平台的mmc分区方案和烧写emmc方式不一样,总之划分一块区域用来当sdcard挂载,并且记住block序号,android的分区类型在linux下制作一般都是ext4格式。可在BoardCondif.mk中添加宏控制:BOARD_MMCBLK_AS_SDCARD := 13#jscese open mmcblk0p13 as sdcard to mount 140724#原创 2014-10-14 11:21:13 · 6906 阅读 · 8 评论 -
Android—— 4.2 Vold挂载管理_Kernel_USB_Uevent (七)
在前文Android—— 4.2 Vold挂载管理_NetlinkManager (四)中有解析到Vold 是从kernel中获取uevent事件,来获取device信息,其中是通过一个Netlink的套接字,目前整个Vold机制也分析完了, 上篇 Android—— 4.2 Vold挂载管理_MountService (六) 分析了机制中最上层的,这里分析一下最下层的kernel uevent事件的发送,以USB设备为例!原创 2014-09-02 18:12:17 · 3686 阅读 · 0 评论 -
Android—— 4.2 Vold挂载管理_MountService (六)
整个Vold机制应该算system层,与framwork层的交互在Android—— 4.2 Vold挂载管理_CommandListener (二)中有提到过,是通过一个"vold"的socket进行通信的,这里分析一下framework中负责与Vold通信的:MountService原创 2014-09-01 16:04:09 · 4710 阅读 · 0 评论 -
Android—— 4.2 Vold挂载管理_DirectVolume/Volume (五)
在前文Android—— 4.2 Vold挂载管理_VolumeManager (三) 中解析了VolumeManager是怎么样抽取Volume实例以及DirectVolume与Volume之间的关系,在上篇Android—— 4.2 Vold挂载管理_NetlinkManager (四)中从kernel开始调用到handleBlockEvent,这里解析一下Vold挂载的真正操作,也就是Volume的操作!原创 2014-08-25 17:43:23 · 4718 阅读 · 3 评论 -
Android—— 4.2 Vold挂载管理_NetlinkManager (四)
在前文Android—— 4.2 Vold挂载管理_主体构建main (一)中有结构图表示,Vold是kernel与用户层的一个交互管理模块,Android—— 4.2 Vold挂载管理_VolumeManager (三) 简单介绍了核心VolumeManager的构建,这篇分析从kernel进程沟通到VolumeManager进程的关键:NetlinkManager原创 2014-08-16 09:34:59 · 4491 阅读 · 0 评论 -
Android—— 4.2 Vold挂载管理_VolumeManager (三)
VolumeManager就是整个Android 磁盘挂载Vold机制的核心调度,上下连接的中转站!我从Vold main代码的顺序结构来一次分析,上一篇Android—— 4.2 Vold挂载管理_CommandListener (二) 中分析了与framework层交互的CommandListener的功能作用。这里分析VolumeManager在整个体系中所扮演的角色和职能!原创 2014-08-15 14:51:10 · 5613 阅读 · 0 评论 -
Android—— 4.2 Vold挂载管理_CommandListener (二)
在前一篇博客中介绍了个大体结构 Android—— 4.2 Vold挂载管理_主体构建 (一) ,按照代码的顺序结构来依次分析,这里来看看CommandListener这个类做了什么。一:CommandListener构造在/system/vold/main.cpp的main函数中构建实例:原创 2014-08-11 16:10:13 · 5371 阅读 · 1 评论 -
Android—— 4.2 Vold挂载管理_主体构建main (一)
这段时间为了把mmc的一个block当成sdcard内置,学习了下android的vold磁盘挂载模块,记录一下(android 4.2.2)。一:Vold的编译及启动vold的源码位置在android根目录 /system/vold文件下,先看这下面的android.mk:原创 2014-08-06 20:07:02 · 6145 阅读 · 0 评论