原则上来说,qemu, libvirt, libusb, usbredir, spice等都可以通过 apt-get install的方式从Ubuntu源在线安装。但是这样如果碰到一点问题,就比较难办,如果自己从源代码开始编译,那么出了问题可以通过阅读和修改源码,修复相关问题。

我们要搭建的各个软件模块是有相互依赖性的,比如qemu依赖libspice-server, Usbredir依赖libusb,因此在编译之前先要安排一个顺序。第一个选中的是Libusb,因为它是一个底层的usb库,不依赖其他几个模块。

即便如此,我们还是要先从Ubuntu源在线安装一些第三方库,这些库很成熟,我们也不需要维护,因此就选择在线安装。

为了编译Libusb,我们先做如下准备:

dev@xxx:~/workroom$ sudo apt-get install autotools-dev devhelper  doxygen pkg-config devscripts

这个过程比较长,总共大概会下载安装1G左右的相关包,请耐心等待。

安装完成后,我们开始获取Libusb的源码,官方源码在http://www.libusb.org/下,但是考虑到我们也想把它做成比较通用的 debian包,我们可以从https://launchpad.net/debian/+source/libusbx/2:1.0.15-1上下载源码:libusbx_1.0.15-1.dsclibusbx_1.0.15.orig.tar.bz2libusbx_1.0.15-1.debian.tar.xz

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

用下面的命令解开源码:

dev@xxx:~/workroom/libusbx$ sudo dpkg-source –x libusbx_1.0.15-1.dsc

进入新生成的目录libusbx-1.0.15

编译命令相当简单:

dev@xxx:~/workroom/libusbx/libusbx-1.0.15$ sudo debuild

稍等一会编译完成,最后报了一点错,是有关deb包的签名加密错误的,可以忽略。

生成的debian包在上一层目录dev@xxx:~/workroom/libusbx/下,我们可以看到:

Libusb-1.0-0_1.0.15-1_amd64.deb,libusb-1.0-0-dbg_1.0.15-1_amd64.deb和libusb-1.0-0-dev_1.0.15-1_amd64.deb。

这样libusb的编译就成功完成了,这些包可以安装到同平台版本的任何其他机器上去了。

 

Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(三)的更多相关文章

  1. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(八)

    Libvirt 是用c写的一个管理虚拟机及其资源(如网络.存储和外设等)的工具库,它不仅支持KVM/QEMU,它还支持xen,Vmware,OpenVZ和VirtualBox等其他HyperVisor ...

  2. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十五)

    接下来我们试验虚拟机的网络配置功能,KVM虚拟机网络配置主要有两种方式:NAT方式和Bridge方式.今天我们主要理解和实验NAT方式的网络配置. NAT方式是kvm安装后的默认方式,它支持主机与虚拟 ...

  3. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十六)

    今天我们继续实验Bridge方式的网络配置. Bridge的逻辑原理图如下: 上图中的“br0”就充当了一个桥的作用,主机上的物理网口eth0等根据需要加入到这个桥里面,所有虚拟机要跟外界通信都通过这 ...

  4. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十三)

    今天我们实验libvirt提供的快照功能,快照可以用于系统恢复,防止安装了某些软件或中病毒等情况导致系统损毁的情况. 一.快照类型 1)        磁盘快照 内部的:快照驻留在原来的镜像文件内部 ...

  5. Mac下搭建基于PlatformIO的嵌入式开发环境(STM32开发)

    PlatformIO简介 PlatformIO是开源的物联网开发生态系统.提供跨平台的代码构建器.集成开发环境(IDE),兼容 Arduino,ESP8266和mbed等 支持在Windows.Lin ...

  6. 小白秒懂的Windows下搭建基于pytorch的深度学习环境

    配置环境总体思路 1.依据python版本选择对应Anaconda版本: 2.依据显卡驱动版本选择对应的CUDA版本: 3.依据CUDA版本选择对应的cudnn和pytorch版本. 一.Anacon ...

  7. Windows 7下 搭建 基于 ssh 的sftp 服务器

    Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...

  8. ubuntu12.10下OpenFoam的编译

    最近在ubuntu12.10下编译OpenFoam,遇到一些问题,小记一下. 首先到官网下载源码包(我这里下载的是OpenFOAM-2.3.0.tgz,ThirdParty-2.3.0.tgz). 1 ...

  9. [IDS]CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统,超详细!!!

    最详细的CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统免责声明一.如果因为使用本文档照成损失(系统崩溃.数据丢失等),作者不承担任何责任.二.本文档只是个人使用本文 ...

随机推荐

  1. hdu oj1102 Constructing Roads(最小生成树)

    Constructing Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  2. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)

    原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到) 继上两篇:ORACLE PL ...

  3. java利用poi导出数据到excel

    背景: 上一篇写到利用jtds连接数据库获取对应的数据,本篇写怎样用poi将数据到处到excel中,此程序为Application 正文: 第三方poi jar包:poi驱动包下载 代码片段: /** ...

  4. 数据类型和typeof操作符

    虽然学习js有一段时间了,但是对js的基础语法却是有些生疏.最近在看jquery源码,决定随带总结一些基础的语法知识.今天总结一下数据类型和typeof,这在写js的时候,是不得不知道的知识. 数据类 ...

  5. Effective C++(12) 复制对象时要复制每一个成员

    问题聚焦: 负责拷贝的两个操作:拷贝构造函数和重载赋值操作符. 一句话总结,确保被拷贝对象的所有成员变量都做一份拷贝. Demo   void logCall(const std::string&am ...

  6. iOS基础 - Modal制作控制器

    1.modal 1.modal推出控制器的代码 2.modal关闭当前控制器的代码 3.modal推出的动画效果 4.modal在ipad中应用 2.如何给控制器加上导航栏 3.modal和导航控制器 ...

  7. DesignMode的状态处理

    自定义控件开发的调试及DesignMode的状态处理 在开发Winform程序的时候,我们往往需要根据需要做一些自定义的控件模块,这样可以给系统模块重复利用,或者实现更好的效果等功能.但在使用的时候, ...

  8. 浅谈DevExpress<六>:为chart创建动态数据源

    今天搞点稍微复杂些的东西,在列表中点击不同的行时,图表中显示和其数据关联的图,效果如下:

  9. HTTP报文格式详解

    HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTTP请求报文由请求行(request ...

  10. Visual Studio 2013 发布正式版

    SELECT COUNT(1) 和SELECT COUNT(*)哪个性能好? Visual Studio 2013 发布正式版及使用感受 (注意:文末我添加了一个小节,用来更新最新的一些使用感受.) ...