CentOS7上源码安装KVM(qemu kvm)

本文发布时间: 2019-Mar-22
在centos7下已经集成了kvm环境:centos7检查/dev/kvm这个文件,它是kvm内核模块提供给用户空间的qemu-kvm程序使用的一个控制接口,它提供了客户机(Guest)操作系统运行所需要的模拟和实际的硬件设备环境。确定KVM模块确实全部安装好,下面来看一下qemu-kvm的编译和安装。源码安装qemu-kvm除了在内核空间的KVM模块之外,在用户空间需要QEMU来模拟所需要CPU和设备模型以及用于启动客户机进程,这样才有了一个完整的KVM运行环境。参考文档:http://book.51cto.com/art/201311/416148.htm使用git工具从git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git下载最新的qemu-kvm源码。qemu-kvm的配置并不复杂,通常情况下,可以直接运行代码仓库中configure文件进行配置即可。[root@jay-linux kvm_demo]# git clone git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.gitqemu-kvm.gitInitialized empty Git repository in/root/kvm_demo/qemu-kvm.git/.git/remote: Counting objects: 145222,done.remote: Compressing objects: 100%(35825/35825), done.remote: Total 145222 (delta 114656), reused137663 (delta 107444)Receiving objects: 100% (145222/145222),40.83 MiB | 10.33 MiB/s, done.Resolving deltas: 100% (114656/114656),done.[root@jay-linux kvm_demo]#cdqemu-kvm.git[root@jay-linux kvm.git]# pwd/root/kvm_demo/qemu-kvm.git编译安装:    这里须要重视的处所就是要在CFLAGS中参加-w,因为git下来这个源把警告算作错误处理惩罚,我没在makefile里面找到相干选项,所以只能采取禁用了。# export CFLAGS="-w -O3 -msse -msse2-mmmx -funroll-loops -mfpmath=sse"# cd qemu-kvm.git执行configure文件进行配置的过程如下:1. [root@jay-linux qemu-kvm.git]# ./configure --enable-spice (为了支持spice)2. Install prefix /usr/local3. BIOS directory /usr/local/share/qemu4. binary directory /usr/local/bin5. library directory /usr/local/lib6. include directory /usr/local/include7. config directory /usr/local/etc8. Manual directory /usr/local/share/man9. ELF interp prefix /usr/gnemul/qemu-%M10.Source path /root/kvm_demo/qemu-kvm.git11.C compiler gcc12.Host C compiler gcc13.<!--此处省略数十行 -->14.VNC support yes #通常需要通过VNC连接到客户机中15.<!--此处省略十余行 -->16.KVM support yes #这是对KVM的支持17.TCG interpreter no18.KVM device assig. yes #这是对KVM中VT-d功能的支持19.<!--此处省略十余行 -->20.OpenGL support yes21.libiscsi support no22.build guest agent yes23.coroutine backend ucontext需要注意的是,上面命令行输出的KVM相关的选项需要是配置为yes,另外,一般VNC的支持也是配置为yes的(因为通常需要用VNC连接到客户机中)。经过配置之后,进行编译就很简单了,直接执行make即可进行编译,如下所示:1. [root@jay-linux qemu-kvm.git]# make -j 202. GEN config-host.h3. GEN trace.h4. GEN qemu-options.def5. GEN qmp-commands.h6. GEN qapi-types.h7. GEN qapi-visit.h8. GEN tests/test-qapi-types.h9. GEN tests/test-qapi-visit.h10. GEN tests/test-qmp-commands.h11. CC libcacard/cac.o12. CC libcacard/event.o13.<!--此处省略数百行的编译时输出信息 -->14. CC x86_64-softmmu/target-i386/cpu.o15. CC x86_64-softmmu/target-i386/machine.o16. CC x86_64-softmmu/target-i386/arch_memory_mapping.o17. CC x86_64-softmmu/target-i386/arch_dump.o18. CC x86_64-softmmu/target-i386/kvm.o19. CC x86_64-softmmu/target-i386/hyperv.o20.LINK x86_64-softmmu/qemu-system-x86_64可以看到,最后有编译生成qemu-system-x86_64文件,它就是我们常用的qemu-kvm的命令行工具(在多数Linux发行版中自带的qemu-kvm软件包的命令行是qemu-kvm,只是名字不同而已)。编译完成之后,运行“make install”命令即可安装qemu-kvm,其过程如下:1. [root@jay-linux qemu-kvm.git]# make install | tee make-install.log2. install -d -m 0755 "/usr/local/share/qemu"3. install -d -m 0755 "/usr/local/etc/qemu"4. install -c -m 06445. /root/kvm_demo/qemu-kvm.git/sysconfigs/target/target-x86_64.conf6. "/usr/local/etc/qemu"7. install -c -m 06448. /root/kvm_demo/qemu-kvm.git/sysconfigs/target/cpus-x86_64.conf9. "/usr/local/share/qemu"10.install -d -m 0755 "/usr/local/bin"11.install -c -m 0755 vscclient qemu-ga qemu-nbd qemu-img qemu-io "/usr/local/bin"12.install -d -m 0755 "/usr/local/libexec"13.<!--此处省略数行的安装时输出信息 -->14.make[1]: Entering directory15.'/root/kvm_demo/qemu-kvm.git/x86_64-softmmu'16.install -m 755 qemu-system-x86_64 "/usr/local/bin"17.strip "/usr/local/bin/qemu-system-x86_64"18.make[1]: Leaving directory19.'/root/kvm_demo/qemu-kvm.git/x86_64-softmmu'


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:09pm
栏目列表