工作原因需要对spice协议进行编译,这里记录一下spice协议的编译过程,从虚拟机的创建到协议编写。
安装虚拟机
安装操作系统
这边需要去下载镜像,镜像地址:
下载完成之后把文件后缀名改为iso,类似于下图
点击确定
然后点击开启虚拟机
等待。。。
这里可以选择语言,我们选择中文
点击软件选择,选择gnome桌面
选择不启用KDUMP,启用会占用内存。
安装位置这一项,点进去,然后直接点完成出来即可。不这么操作不让你安装。
打开网络连接
最后选择好的页面是这样的,然后点击开始安装
点击进行密码设置
密码我设置的123,点击ok,进入以下安装页面
等待安装完成
安装完成后点击重启
安装完成后点击接受许可证
点击完成
点击完成配置
点击前进
点击前进,关闭隐私
点击跳过
随意设置一个用户
设置密码,设为123
点击开始使用
以上虚拟机安装完成。
桌面右击,显示打开终端,然后输出这行指令:
yum install gcc gcc-c++ bzip2 -y
可能会显示以下内容:
出现这种情况,输入su,回车然后输入密码,就切换到了root
参考:VMware获取root权限及开启root账户的办法_虚拟机root权限怎么开启-CSDN博客
如果想要切回到普通用户,输入exit
,然后回车
这样就切换到了根。
这个时候我们重新执行 yum install gcc gcc-c++ bzip2 -y 指令,就不会报错了。
检查我们的虚拟机是否支持虚拟化,输入以下指令:
grep -E 'vmx|svm' /proc/cpuinfo
如果没有输出说明不支持,我这里没有输出,说明不支持,所以需要配置。
关闭虚拟机,选择虚拟机设置,勾选虚拟化
设置完成后,打开虚拟机,输入指令检查,出现以下结果
检查是否加载cpu内核
输入 lsmod |grep kvm
以上为止,环境已经搭建完成。
spice协议的编译
参考文章:spice、qemu-kvm以及libvirt源码编译安装与使用(上)_spice make install-CSDN博客
源码下载路径
spice-protocol:https://www.spice-space.org/download/releases/spice-protocol/spice-protocol-0.12.15.tar.bz2
spice server:https://www.spice-space.org/download/releases/spice-0.14.0.tar.bz2
qemu: https://download.qemu.org/qemu-3.1.0.tar.xz
libvirt: https://libvirt.org/sources/libvirt-5.2.0.tar.xz
注意这一步要把源码下载到虚拟机上
linux指令:mkdir创建文件
配置阿里镜像:
su切换到根,输入以下代码
wget -O /etc/yum.repos.d/CentOS-aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
执行yum/apt更新命令:
yum update 或 apt-get update
输入yum info检查镜像是否配置成功,如果出现信息,则表示配置成功。
下载安装包:
切换到之前创建的zhb目录,输入以下代码下载:
wget https://www.spice-space.org/download/releases/spice-protocol/spice-protocol-0.12.15.tar.bz2
解压:
同样的分别下载另外三个文件(还未解压)
这里我的qemu(第三个文件)没下载下来,原因未知,
编译spice-protocol
切换到文件中
执行./configure, 会生成makefile文件
执行make && makeinstall
如上表示已经编译完毕。
编译spice-server
cd.. 返回上一级文件目录
同样先解压,再进入
进入spice-server文件夹
配置 PKG_CONFIG_PATH,使得能够找到spice-protocol的安装目录(当前你也可以在编译安装spice-protocol 执行./configure 时加上–prefix=/usr) (不太懂这点)
执行./configure
看到有No package,安装缺少的包。
yum install glib2-devel.x86_64 -y
继续安装所有缺少的依赖:
yum install pixman-devel.x86_64 celt051-devel.x86_64 openssl-devel.x86_64 libjpeg-turbo-devel.x86_64 -y
最后执行./configure ,显示makefile成功