分类: LINUX
2011-10-28 08:24:46
本文主要介绍一个在LFS中安装并配置qemu的实例。
一、安装qemu软件包
首先下载qemu及其相关的支撑软件包。
首先编译并安装zlib和libsdl,然后再编译安装qemu。编译和安装方法是众所周知的“./configure;make;make install”三步曲。
二、安装kvm软件包
纯粹用qemu来运行虚拟机,其模拟速度比其它虚拟机软件(例如VmWare)较慢。早期的qemu采用kqemu软件包加速模拟。后来,随着KVM合并进入Linux内核源码树,qemu开始转向直接使用内核提供的KVM来提升其模拟速度。从2009年发布的0.12.0版本开始,qemu停止了对kqemu的兼容。KVM(Kernel-based Virtual Machine)是Linux支持虚拟机技术的内核模块,KVM可以充分利用CPU提供的虚拟化扩展(virtualization extensions )特性,以提高虚拟机软件的模拟速度。例如,KVM可以利用Intel CPU提供的Intel VT的特性或AMD CPU提供的AMD-V特性。当然,对于不支持虚拟化扩展特性的CPU,KVM就没有任何实际效果,例如Intel的ATOM CPU。
kvm-kmod是KVM内核模块软件包。如果当前运行的内核已经打开KVM相关的配置选项(执行grep KVM /boot/config-...予以验证),就不需要安装kvm-kmod软件包,因为相关的内核模块已经集成到内核中。否则,需要安装kvm-kmod包,具体会安装三个内核模块:kvm.ko,kvm-intel.ko(用于支持Intel VT特性)和kvm-amd.ko(用于支持AMD-V特性)。源代码:。三、运行虚拟机
考虑到主要使用LFS命令行界面,所以需要在没有图形界面的条件下启动qemu,这要求在qemu命令行上加上-vnc选项。此外,为了测试运行qemu,还要让虚拟机有一个虚拟硬盘,从qemu的官网上下载一个并解开即可(虚拟硬盘镜像文件:)。执行下面命令行启动虚拟机:
qemu linux-0.2.img -vnc :1
其中,linux-0.2.img是一个硬盘镜像文件。qemu也提供相关的工具用来制作硬盘镜像文件,然后启动虚拟机后再挂上光盘,就可以在该硬盘镜像文件中安装操作系统了。-vnc选项用于启动一个VNC服务程序(用于远程桌面控制),如果有VNC客户端通过网络连接,该服务程序会将qemu的虚拟机窗口界面的VGA输出重定向到客户端。例如,用Windows中的RealVNC客户端连接,然后就可以看到虚拟机中运行的Linux了。-vnc选项的参数格式是“主机:显示编号d”,表示允许指定主机(主机名或IP)通过TCP端口5900+d连接VNC服务程序。如果主机部分省略则表示允许任何主机连接。所以:-vnc :1表示允许任何主机通过端口5901端口连接VNC服务程序。
参考文献:
1. QEMU Emulator User Documentation
2.