楼主的内核版本:
vince67@miss:~$ uname -a
Linux miss 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
硬件支持:
KVM需要硬件虚拟化扩展的支持,安装之前请先执行下面命令查看自己的cpu是不是支持扩展。
~$ grep -E '(vmx|svm)' /proc/cpuinfo
如果你找到高亮的'vmx'(intel)或者'svm'(AMD),说明是cpu是支持的。
接下来我们要下载KVM的源码,我们在root/下建立一个kvm_demo的文件夹,进入后使用git clone命令下载.
$ git clone git://git.kernel.org/pub/scm/virt/kvm/kvm.git kvm.git
如果你的机器里没有安装git:
~$ sudo apt-get intsall git
你看到的大概是如下的界面:
我们使用make menuconfig的命令来配置KVM,因为图形界面比较友好。
make menuconfig使用需要安装ncurses库,使用以下命令即可:
~$ sudo apt-get install libncurses5-dev
你看到的大概是如下的界面:
安装成功ncurses库之后,重新执行 make menuconfig命令。
在如下界面中选择Virtualization进行配置。
如下图:
保存之后会在kvm.git下生成.config文件。
配置完毕之后就要编译KVM了,编译分为如下三个部分:
(一)编译内核 vmlinux
执行命令: make vmlinux -j 20
-j 20的参数是进程的设置,不使用的话是没有大的影响的。
编译的时间需要等一段时间,默默祈祷吧。
(二)编译生成bzImage文件
执行命令: make bzImage
最后将得到bzImage文件
(三)编译modules
如上图最后,编译成功bzImage之后。
执行命令: make modules -j 20
等到机器编译完毕,我们的编译工作就完成了。
(一)安装modules
如上图中最后的安装命令,执行make modules_install.
此命令会默认将modules安装到/lib/modules/$kernel_version/kernel目录中.
安装modules成功后,可以在相应的路径下看到kvm的模块
执行 ls -l /lib/modules/2.14.0-rc3+/kernel/
执行 ls -l /lib/modules/2.14.0-rc3+/kernel/arch/x86/kvm
如下图
(二)安装kernel和initramfs
执行命令: make install
在/boot目录下生成了内核(vmlinux)和initramfs等内核启动所需的文件
grub配置文件/boot/grub/grub.conf也有自动添加的grub选项:
(三)安装后检查
重启系统选择刚才为了KVM而编译 安装的内核启动,系统一般会默认已经加载了kvm和kvm_intel这两个模块
如果没有加载,请手动用modprobe命令依次加载
确认模块加载成功之后,检查/dev/kvm这个文件.
它是kvm内核模块提供给用户空间qemu-kvm程序使用的一个控制接口,
提供了客户机操作系统运行所需要的模拟和实际的硬件设备环境。