【发布时间】:2015-06-23 13:53:38
【问题描述】:
我有带有自定义 ROM 和内核的 Galaxy S4。我需要将 ISO 映像从 sdcard 挂载到 Windows/Linux PC 作为 CD-ROM。
有一个“DriveDroid”应用程序运行良好,但我需要手动完成(作为一项研究)。 Windows 8 写道“设备需要格式化”。
代码(bash 脚本)
# Disable USB
echo 0 > /sys/class/android_usb/android0/enable
# Set Vendor and Product IDs
echo 0x04e8 > /sys/class/android_usb/android0/idVendor
echo 0x6860 > /sys/class/android_usb/android0/idProduct
# Set mass_storage mode
echo mass_storage > /sys/class/android_usb/android0/functions
# Enable CD-ROM and make read-only (ERROR HERE!)
echo 1 > /sys/class/android_usb/android0/f_mass_storage/lun0/cdrom
echo 1 > /sys/class/android_usb/android0/f_mass_storage/lun0/ro
# Set path to ISO
echo /mnt/shell/emulated/0/obraz.iso > /sys/class/android_usb/android0/f_mass_storage/lun0/file
# Enable USB
echo 1 > /sys/class/android_usb/android0/enable
但是,cdrom 和 ro 文件仍然设置为 0。我还应该怎么做才能使它们为“1”?
【问题讨论】:
-
显示有错误吗?权限错误,无效文件... - 不管怎样,试试
chmod +w /sys/class/android_usb/android0/f_mass_storage/lun0/cdrom,其他文件也一样。 -
@ShellFish,不,没有显示错误。脚本运行良好,但
cdrom为 0(而不是 1),因此 Windows 8 提供对话框“首先使用 F:\ 格式的磁盘” -
@ShellFish,
cdrom文件具有 -rw-r--r-- 权限并且归 root 所有(我从中调用脚本) -
可能有什么东西覆盖了它?尝试设置后立即添加
cat /sys/class/android_usb/android0/f_mass_storage/lun0/cdrom?或者echo $?查看退出码? -
@ShellFish 在尝试设置 1 之前和之后都显示 0。