summaryrefslogtreecommitdiffstats
path: root/src/docs/usb-storage.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/docs/usb-storage.txt')
-rw-r--r--src/docs/usb-storage.txt47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/docs/usb-storage.txt b/src/docs/usb-storage.txt
new file mode 100644
index 0000000..c5a3866
--- /dev/null
+++ b/src/docs/usb-storage.txt
@@ -0,0 +1,47 @@
+
+qemu usb storage emulation
+--------------------------
+
+QEMU has three devices for usb storage emulation.
+
+Number one emulates the classic bulk-only transport protocol which is
+used by 99% of the usb sticks on the market today and is called
+"usb-storage". Usage (hooking up to xhci, other host controllers work
+too):
+
+ qemu ${other_vm_args} \
+ -drive if=none,id=stick,file=/path/to/file.img \
+ -device nec-usb-xhci,id=xhci \
+ -device usb-storage,bus=xhci.0,drive=stick
+
+
+Number two is the newer usb attached scsi transport. This one doesn't
+automagically create a scsi disk, so you have to explicitly attach one
+manually. Multiple logical units are supported. Here is an example
+with tree logical units:
+
+ qemu ${other_vm_args} \
+ -drive if=none,id=uas-disk1,file=/path/to/file1.img \
+ -drive if=none,id=uas-disk2,file=/path/to/file2.img \
+ -drive if=none,id=uas-cdrom,media=cdrom,file=/path/to/image.iso \
+ -device nec-usb-xhci,id=xhci \
+ -device usb-uas,id=uas,bus=xhci.0 \
+ -device scsi-hd,bus=uas.0,scsi-id=0,lun=0,drive=uas-disk1 \
+ -device scsi-hd,bus=uas.0,scsi-id=0,lun=1,drive=uas-disk2 \
+ -device scsi-cd,bus=uas.0,scsi-id=0,lun=5,drive=uas-cdrom
+
+
+Number three emulates the classic bulk-only transport protocol too.
+It's called "usb-bot". It shares most code with "usb-storage", and
+the guest will not be able to see the difference. The qemu command
+line interface is simliar to usb-uas though, i.e. no automatic scsi
+disk creation. It also features support for up to 16 LUNs. The LUN
+numbers must be continuous, i.e. for three devices you must use 0+1+2.
+The 0+1+5 numbering from the "usb-uas" example isn't going to work
+with "usb-bot".
+
+enjoy,
+ Gerd
+
+--
+Gerd Hoffmann <kraxel@redhat.com>
OpenPOWER on IntegriCloud