免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5105 | 回复: 4

[FreeBSD] qemu可以用加速器吗??看看版主怎么说?? [复制链接]

论坛徽章:
0
发表于 2006-06-24 13:55 |显示全部楼层
QEMU+Accelerator
QEMU刚刚发布的Accelerator带来了QEMU革命,它不再是一个性能低等的模拟器
使用Accelerator的QEMU速度一下提升了5倍之多。OSNews报道:
This means you could theoretically run Windows (or another OS) on
a Linux machine at near native speeds without buying a commercial emulator.
今天赶紧升了级,果然不同反响,安装了RHEL4,Win2k,速度很好,也没有以前版本分出大于2G空间
造成硬盘检查出错的问题了,在模拟的linux中进行危险试验爽多啦。
QEMU安装也比win4lin/vmware简单,最主要QEMU是开源的,后两者都还需要序列号  
虽然Accelerator是专利产品,不过也是免费使用的,只是在分发上有一些限制.
总之是不错的东东喽,快试试吧!
不会装?不会用?看看我的安装,使用心得吧  ^_^
注意:该方法仅适用于2.6.x内核,2.4内核请查看QEMU安装文档。
QEMU有两种模拟方式:

1.完整的系统模拟:这种模式下,QEMU模拟一个完整的系统(比如说,整个PC),包括CPU和周边的计算机设备。你可以不必重启就可以同时运行不同的系统来调试系统代码。

2.User mode模拟(只能在Linux宿主机下使用):这种模式下,QEMU能够在Linux下运行从一个CPU到另一个CPU的编译过程。这通常可以被用来运行Wine模拟器或者是交错式的编译和调试。

这里只说模拟整个PC

首先先下载,编译,安装:
目前只有CVS版本的QEMU才可以使用Accelerator(加速器),所以需要编译。而其他版本的QEMU,可以直接下载binary的,在/下解压缩即可使用,十分方便。不象win4lin,vmware这些模拟器还需要给内核打补丁。而且还不是开源的,安装比较麻烦。(至少我没成功安装过它们两个)
不过目前binary还不能使用加速器,所以速度会慢很多。相信很快binary版本就会加入这个加速器啦。
毕竟加速器刚出来没几天,值得期待。。。。 ^_^
OK,言归正传,开始来编译,安装CVS版本的QEMU,并且加入Accelerator支持:
首先从 http://www.dad-answers.com/qemu/ 下载当前CVS版本的qemu
我的版本是:qemu-snapshot-2005-02-22_23.tar.bz2
再从 http://fabrice.bellard.free.fr/qemu/kqemu-0.6.2-1.tar.gz 下载回来加速器
注意:编译kqemu需要内核源码包,将与当前内核版本完全相符的源码包解压在/usr/src下
并且确保/lib/modules/`uname -r`/build是正确指向内核源码目录的,如下所示:
[root@LFS ~]#ls -l /lib/modules/2.6.10-lvm/build
lrwxrwxrwx  1 root root 21 Feb 22 12:50 /lib/modules/2.6.10-lvm/build -> /usr/src/linux-2.6.10/
如果没有正确指向内核源码目录,使用ln -s 命令建立链接:
[root@LFS ~]#ln -s /usr/src/linux-2.6.10 /lib/modules/2.6.10-lvm/build
生成kqemu需要的内核源文件:
[root@LFS ~]#cd /usr/src/linux-2.6.10
/root  ------------> /usr/src/linux-2.6.10
[root@LFS linux-2.6.10]#make mrproper
确保内核源码纯净,保证kqemu编译出来可用。
[root@LFS linux-2.6.10]#cp /boot/config-2.6.10 .config
将当前内核配置文件复制过来
[root@LFS linux-2.6.10]#make scripts/
生成kqemu需要的东东,没有这步,编译就会出错。

做好后就可以开始编译QEMU了,使用如下命令编译,安装:
[root@LFS ~]#tar jxvf qemu-snapshot-2005-02-22_23.tar.bz2
[root@LFS ~]#tar zxvf kqemu-0.6.2-1.tar.gz -C qemu-snapshot-2005-02-22_23/
使用-C qemu-snapshot-2005-02-22_23/ 将kqemu解压到qemu的目录中,让qemu支持kqemu
[root@LFS ~]#cd qemu-snapshot-2005-02-22_23
/root  ------------> /root/qemu-snapshot-2005-02-22_23
[root@LFS qemu-snapshot-2005-02-22_23]#./configure
...........略
KQEMU module configuration: --------->表示加入kqemu支持
kernel sources    /lib/modules/2.6.10-lvm/build
kbuild type       2.6
[root@LFS qemu-snapshot-2005-02-22_23]#make
[root@LFS qemu-snapshot-2005-02-22_23]#make install
这样,qemu就安装到了/usr/local下,所有可执行文件在/usr/local/bin下,如果想安装到/usr:
[root@LFS qemu-snapshot-2005-02-22_23]#./configure -->./configure --prefix=/usr

安装好后,kqemu模块安装在: /lib/modules/2.6.10-lvm/misc/kqemu.ko
并且安装脚本会自动在/dev/下创建一个kqemu设备:
[root@LFS linux-2.6.10]#ls -l /dev/kqemu
crw-rw-rw-  1 root root 250, 0 Feb 24  2005 /dev/kqemu
[root@LFS linux-2.6.10]#
加载kqemu模块:
[root@LFS linux-2.6.10]#modprobe kqemu
[root@LFS linux-2.6.10]#
使用lsmod命令检查:
[root@LFS linux-2.6.10]#lsmod |grep kqemu
kqemu                  41864  0
[root@LFS linux-2.6.10]#

如果你发现重启后/dev/kqemu消失了,需要重新创建它:
[root@LFS linux-2.6.10]#mknod /dev/kqemu c 250 0
[root@LFS linux-2.6.10]#chmod 666 /dev/kqemu
你可以将上面两行命令加入到系统的启动脚本中,例如/etc/rc.d/rc.local
还有上面那个modprobe kqemu也一并加进去吧(如果你想每次系统启动自动加载kqemu模块)
注意的是,加到/etc/rc.d/rc.local时,命令最好写绝对路径,例如/sbin/modprobe

OK,现在QEMU,Accelerator都已经安装完成,可以开始安装OS啦。
这里我以安装RHEL4为例说一下qemu的基本用法,非常简单!

首先创建磁盘镜像文件:
[root@LFS distro]#qemu-img create redhat.img 6G
Formating 'redhat.img', fmt=raw, size=6291456 kB
[root@LFS distro]#
这样就创建好了一个名为redhat.img的6G磁盘镜像。
注意:创建的磁盘镜像文件大小最好小于你实际分区剩余空间。

开始安装RHEL4:
[root@LFS ~]#qemu -boot d -cdrom /rhel4/EL_disc1.iso -hda redhat.img --enable-audio
-boot d :从光驱引导  a(软盘引导) c(硬盘引导) d(光驱引导)
-cdrom : ISO文件,也可以直接使用光驱设备(/dev/cdrom)...别忘了插入光盘
-hda : 就是虚拟机里的硬盘啦,也就是刚才qemu-img创建出的东东。
-enable-audio : 声卡支持

安装过程中,要求换盘:
在qemu中按ctrl+alt+2切换到qemu monitor模式 输入?或help可以查看可用命令及使用说明。
(在其他版本的qemu中,运行qemu加载OS后,这个shell就会自动变成qemu monitor模式)
change device filename -- change a removable media
看来它就是用来换盘的了 : change cdrom /rhel4/EL_disc2.iso

monitor下还有几个常用的命令:
savevm filename 将整个虚拟机当前状态保存起来
loadvm filename 恢复 (最初我没用change换盘时,就是先savevm->重新运行qemu->loadvm )
sendkey keys 向VM中发送按键,例如你想在虚拟机里切换到另一个终端,按下了ctrl-alt-F2
不幸的是,切换的却是你的主系统,所以就需要用 sendkey了 sendkey ctrl-alt-f2
还有其他几个命令,自己看看啦。

经过N久终于装好了,现在可以启动试试:
[root@LFS distro]#qemu redhat.img -enable-audio -user-net -m 64
-user-net 相当于VMware的nat,主系统可以上,虚拟机就可以
-m 64     使用64M内存,缺省下使用128M

ctrl-alt-f 全屏
ctrl-alt   主机/虚拟机鼠标切换
qemu还有一些其他参数,输入qemu可以查看其相关说明。

Good Luck ! ^_^ Sample Text

论坛徽章:
2
IT运维版块每日发帖之星
日期:2015-10-05 06:20:00操作系统版块每日发帖之星
日期:2015-10-05 06:20:00
发表于 2006-06-24 22:08 |显示全部楼层
收藏一个,慢慢研究

论坛徽章:
0
发表于 2006-06-25 02:36 |显示全部楼层
是不是就是那个kqemu,如果就是这个的话,我可以负责任地告诉你,性能不怎么样,远不能和vmware相比,只是升级到6.1后,原来的vmware3.2.1不能用了,一用就重启。

论坛徽章:
0
发表于 2006-06-25 10:10 |显示全部楼层

这样阿

空欢喜一场

论坛徽章:
0
发表于 2006-06-25 10:22 |显示全部楼层
严重同意。在bsd下我几乎快把emu下的都试过了,除了qemu能用。而且巨慢之外其他的根本就不成功
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP