原则上来说,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.dsc,libusbx_1.0.15.orig.tar.bz2和libusbx_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. Java遍历解析URL类型字符串中参数

    public static void main(String[] args) { String str="&emailCheckURL=447&useremail=vip@c ...

  2. 如何让Gridview在没有数据的时候显示表头(asp.net)

    原文:如何让Gridview在没有数据的时候显示表头(asp.net) 1.前言 当对GridView控件进行数据绑定时,如果绑定的记录为空,网页上就不显示GridView,造成页面部分空白,页面布局 ...

  3. Tomcat7.0更改默认的路径来访问自己的项目

    如何使自己的项目没有输入:localhost:8080/项目名称/index.html 能够访问. 步骤,如下面的 : 找到tomcat ---  config----server.xml 选中右键编 ...

  4. Swift辛格尔顿设计模式(SINGLETON)

    本文已更新为2.0语法,具体查看:一叶单例模式 一.意图 保证一个类公有一个实例.并提供一个訪问它的全局訪问点. 二.使用场景 1.使用场景 当类仅仅能有一个实例并且客户能够从一个众所周知的訪问点訪问 ...

  5. 使用OpenWrt的SDK

    原文:http://wiki.openwrt.org/doc/howto/obtain.firmware.sdk 为什么要使用SDK: Reasons for using the SDK are: C ...

  6. Add GUI to connect to SQL

    (*********************************************************************************) (* *) (* Below i ...

  7. Working with Entity Relations in OData

    Working with Entity Relations in OData 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs. ...

  8. C#编程断点续传

    C#编程总结(十二)断点续传 Posted on 2014-02-16 10:56 停留的风 阅读(384) 评论(3) 编辑 收藏 C#编程总结(十二)断点续传 我们经常使用下载工具,如bit精灵. ...

  9. 实现栈最小元素的min函数

    #include<iostream> #include<stack> using namespace std; class min_stack { public: void p ...

  10. Linux网络编程(三)

    Linux网络编程(三) wait()还是waitpid() Linux网络编程(二)存在客户端断开连接后,服务器端存在大量僵尸进程.这是由于服务器子进程终止后,发送SIGCHLD信号给父进程,而父进 ...