android仅创建一个硬盘逻辑盘

手动操作挂载ssd到pc上唯一的逻辑盘
echo "/dev/block/vold/8:0">/sys/devices/platform/sw_usb_udc/gadget/lun0/file  //pc挂载ssd
echo "">/sys/devices/platform/sw_usb_udc/gadget/lun0/file     //pc卸载ssd
==============================================================================
android部分保证强制操作硬盘
android4.0/system/vold/Volume.cpp
shareVol函数中强制指定写入字段和节点路径
#if 0//kll
snprintf(nodepath,
sizeof(nodepath), "/dev/block/vold/%d:%d",
MAJOR(d), MINOR(d));
#else
snprintf(nodepath, sizeof(nodepath), "/dev/block/vold/8:0");
#endif
if(1/*mSharelun[i] == 0*/)//kll
snprintf(umslun, sizeof(umslun), "/sys/class/android_usb/android0/f_mass_storage/lun/file");//这个file链接文件指向/sys/devices/platform/sw_usb_udc/gadget/lun0/file
else
snprintf(umslun, sizeof(umslun), "/sys/class/android_usb/android0/f_mass_storage/lun%d/file", mSharelun[i]);


unshareVol函数强制指定卸载节点路径
if(1/*mSharelun[i] == 0*/)//kll
snprintf(umslun, sizeof(umslun), "/sys/class/android_usb/android0/f_mass_storage/lun/file");//这个file链接文件指向/sys/devices/platform/sw_usb_udc/gadget/lun0/file
else
snprintf(umslun, sizeof(umslun), "/sys/class/android_usb/android0/f_mass_storage/lun%d/file", mSharelun[i]);


==============================================================================
内核部分保证只创建一个逻辑盘节点/sys/devices/platform/sw_usb_udc/gadget/lun0
lichee/linux-3.0/drivers/usb/gadget/Android.c
mass_storage_function_init函数中config->fsg.nluns = g_android_usb_config.luns;
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
lichee/linux-3.0/drivers/usb/gadget/Composite.c
static struct android_usb_config g_android_usb_config;//申明一个usb配置结构
static s32 get_android_config(struct android_usb_config *config)//将usb配置fetch到config结构
s32 get_android_usb_config(struct android_usb_config *config)//将config中的数据转移到 g_android_usb_config 结构
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
从sys_config1.fex读取luns值(在pc上呈现的可移动盘符数)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值