【问题标题】:How to mount Android as CD-ROM?如何将 Android 挂载为 CD-ROM?
【发布时间】: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

但是,cdromro 文件仍然设置为 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。

标签: android bash mount cd-rom


【解决方案1】:
# Disable USB
echo 0 | tee /sys/class/android_usb/android0/enable

# Set Vendor and Product IDs
echo 0x04e8 | tee /sys/class/android_usb/android0/idVendor
echo 0x6860 | tee /sys/class/android_usb/android0/idProduct

# Set mass_storage mode
echo mass_storage | tee /sys/class/android_usb/android0/functions

# Enable CD-ROM and make read-only
echo 1 | tee /sys/class/android_usb/android0/f_mass_storage/lun*/ro

# Set path to ISO
echo | tee /sys/class/android_usb/android0/f_mass_storage/lun*/file
echo <YOUR-IMAGE-FILE-PATH> | tee /sys/class/android_usb/android0/f_mass_storage/lun*/file

# Enable USB
echo 1 | tee /sys/class/android_usb/android0/enable

这是在我的手机上工作。 (华硕 T00F - 安卓 7.1.2)

【讨论】:

    【解决方案2】:

    在将 1 写入“cdrom”和“ro”之前,我必须清空“file”文件。 感谢@FrozenCOW(DriveDroid 的开发者)的帮助!

    # Clear path to ISO
    echo "" > /sys/class/android_usb/android0/f_mass_storage/lun0/file
    
    # 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-19
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 2013-01-11
      • 2015-07-05
      相关资源
      最近更新 更多