ubuntu kvm+qemu 加载USB

首先参考了:http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=130210&sid=592708d954990bdd11e60bb7d115ed3a

5. USB设备 
KVM是通过qemu来支持USB设备的,可以在启动的时候就指定需要连接的USB设备,也可以系统启动后动态的添加删除.通过qemu的help可知,使用qemu的usb_add host:xxx:xxx来添加usb设备,那么如何知道对应的host:xxx:xxx呢,有2种方法: 
1)在host主机ubuntu中执行lsusb得到这些信息 
比如在我机器上ipod的信息如下: 
Bus 006 Device 002: ID 05ac:1204 Apple Computer, Inc. iPod [Photo] 
Bus 006 Device 001: ID 1d6b:0002 
Bus 001 Device 001: ID 1d6b:0002 
.... 
05ac:1204就是我们需要的了。 
2)进入虚拟机后,通过ctrl+alt+2调出qemu控制台,输入info usb来列出相关的信息,在我的机器上
Device 4.2, speed 12 Mb/s 
Class e0: USB device 044e:300d, UGX 
Device 2.11, speed 480 Mb/s 
Class 00: USB device 05ac:1204, iPod 
... 
很有可能你在执行上述命令的时候会遇到这样的错误: 
Could not open /dev/bus/usb/devices 
可以参考:https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/156085去解决,主要就是把 
/etc/init.d/mountdevsubfs.sh脚本中的以下几行打开(默认被注释掉了) 
#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
 
然后手工执行: 
$ sudo /etc/init.d/mountdevsubfs.sh start 
或者重启机器就ok了。 
取得了上述USB设备的信息后,可以在kvm启动的时候就连接指定的USB设备,通过启动参数-usbdevice host:xxx:xxx 来添加相应设备。也可以在kvm的客户系统启动后添加,在客户系统中按ctrl+alt+2(ctrl+alt+1回到客户系统)调出qemu控制台,通过usb_add host:xxx:xxx来添加设备,通过info usb可以查看已经添加的usb设备信息,通过usb_del来删除连接的usb设备。 

我在本机测试后lsusb:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 003: ID 0402:7675 ALi Corp. 

Bus 002 Device 003: ID 04f3:0210 Elan Microelectronics Corp. AM-400 Hama Optical Mouse

Bus 001 Device 008: ID ffee:0100 

最后的ffee:0100就是我的U盘!

用qemu-system-x86_64命令时,通过man,查到了-usbdevice host:xxx:xxx参数

启动虚拟机时可以用:

sudo qemu-system-x86_64 -hda kvm/winxp.img -m 1024 -usbdevice tablet -soundhw all -usbdevice host:ffee:0100

猜你喜欢

转载自wujay.iteye.com/blog/1453819