Ubuntu 12.10 下搭建基于KVM(3)

接下来要编译的是Usbredir,在编译之前大致介绍一下什么是Usbredir:

usbredir is the name of a networkprotocol for sending usb device traffic over a network connection. It is alsothe name of the software package offering a parsing library, a usbredirhostlibrary and several utilities implementing this protocol.

也就是说,usbredir是通过网络连接将USB设备的数据包从主机端通过网络协议(现在一般是TCP/IP)发给客户机(虚拟机),它包括一个USB协议的解析库,主机库和其他一些工具。Usbredir是spice社区为了支持USB设备的重定向而开发的,下面网址是关于它的一个协议介绍:~jwrdegoede/usbredir/tree/usb-redirection-protocol.txt

同样,我们首先从https://launchpad.net/debian/+source/usbredir/0.6-2  获得源码包:

Usbredir_0.6-2.debian.tar.gz,usbredir_0.6-2.dsc和usbredir_0.6.orig.tar.bz2

下载以后将上述三个文件上传至编译目录: ~/workroom/usbredir/。

用下面的命令解开源码:

@linux:~/workroom/ usbredir $ sudo dpkg-source –x usbredir_0.6-2.dsc

进入新生成的目录 usbredir-0.6

编译命令相当简单:

@linux:~/workroom/usbredir/usbredir-0.6$ sudo debuild

结果编译出错,错误原因是: Unmet build dependencies: libusb-1.0-0-dev

原来Usbredir是依赖于 libusb的,这也好理解,libusb是最底层直接跟主机usb驱动打交道的库,而Usbredir是用于解析和传输USB包的,它当然是通过libusb库来获得USB数据。

于是我们把上一次编译的libusb debian包先装上:

@linux:~/workroom/libusbx/libusbx-1.0.15$ sudo dpkg –i libusb-1.0-0_1.0.15-1_amd64.deb  libusb-1.0-0-dev_1.0.15-1_amd64.deb

接下来,继续编译

@linux:~/workroom/ usbredir /usbredir-0.6$ sudo debuild

这次顺利编译完成。

同样,生成的Usbredir的包在上一层目录下:

Libusbredirhost1_0.6-2_amd64.deb,libusbredirhost-dev_0.6-2_amd64.deb, libusbredirparser1_0.6-2_amd64.deb,libusbredirparser-dev_0.6-2_amd64.deb, usbredirserver_0.6-2_amd64.deb。

这些包在下一个模块的编译中需要用到。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1c59289ab72924b05e1c07ff56b61a0a.html