diff options
Diffstat (limited to 'qemu/docs/usb-storage.txt')
-rw-r--r-- | qemu/docs/usb-storage.txt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/qemu/docs/usb-storage.txt b/qemu/docs/usb-storage.txt new file mode 100644 index 000000000..c5a3866ee --- /dev/null +++ b/qemu/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> |