USB_MASS_STORAGE 和 USB_FILE_STORAGE 之间有什么区别以及如何最好地使用它?

What's the difference between USB_MASS_STORAGE and USB_FILE_STORAGE and how to best use it?

在Linux内核3.4中,USB_MASS_STORAGE和USB_FILE_STORAGE有什么区别?

我想要一个嵌入式设备 运行 内核 3.4,以便在连接到 PC 时显示挂载点。这个挂载点应该在 PC 上可写,然后在嵌入式设备上从内存中读取。也就是说,嵌入式设备本地存储应该在内存中(比如ramfs)。我该怎么做?

如 Linux 内核 3.18 中所述 CONFIG_USB_MASS_STORAGEUSB_FILE_STORAGE 的替代品:

The Mass Storage Gadget acts as a USB Mass Storage disk drive. As its storage repository it can use a regular file or a block device (in much the same way as the "loop" device driver), specified as a module parameter or sysfs option. This driver is a replacement for now removed File-backed Storage Gadget (g_file_storage).

到目前为止,我可以使用 CONFIG_USB_MASS_STORAGE:

成功地将 /dev/mmcblk0p1 (am335x SoC) 暴露给 Windows
modprobe g_mass_storage file=/dev/mmcblk0p1