在 FreeBSD 6.2 上运行 Qemu

2009-05-13 15:29:29来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


原文:
Running Qemu
on
[url=javascript:;]FreeBSD[/url]
, as host
作者:
Nakata Maho
[url=javascript:;]翻译[/url]

Sutra Zhou
Qemu
是一个由 Fabrice Bellard 开发的非常快速的通用的开源处理器(CPU)模拟器。它可以运行 Windows 2000,XP和GNU/Linux(RedHat,Debian)等。这里我们为 FreeBSD 6.0 描述了各种知识。
如何
[url=javascript:;]安装[/url]
虽然 Qemu 相当快,但我们需要 KQemu 加速器,否则它慢得多。另外,IDE 总线 DMA 支持也是非常重要的。
[url=javascript:;]编译[/url]
QEMU :
# cd /usr/ports/emulator/qemu
# make -DWITH_KQEMU -DWITH_HACKS
# kldloaded aio
kldload aio 是必须的!因为 KQemu 是作为
[url=javascript:;]内核[/url]
模块安装的,请添加下面一行到 /boot/loader.conf 这样内核模块将在开机
[url=javascript:;]启动[/url]
时被加载。
kqemu_load="YES"
注意:继续使用已有的 Windows 2000/XP 磁盘映像是不可能的,因为其已改由活动的 IDE 总线 DMA 支持。
网络
默认情况下,网络由模拟器内部配置;从外部是不可见的。这非常不方便!也有不同的配置方法:你必须是
[url=javascript:;]root[/url]
并且你的 qemu 虚拟机在外部可见。假设你知道你的网络接口的名称。我这里是 fxp0。你可以通过下面的方法来检查:
% dmesg | grep Ethernet
首先,以 root 执行,
# kldload bridge.ko
# sysctl net.link.ether.bridge_cfg=fxp0,tap0
net.link.ether.bridge_cfg:  -> fxp0,tap0
# sysctl net.link.ether.bridge.enable=1
net.link.ether.bridge.enable: 0 -> 1
创建
[url=javascript:;]脚本[/url]
/etc/qemu-ifup,内容如下:
#!/bin/sh
ifconfig ${1} 0.0.0.0
并且让脚本可执行:
# chmod 755 /etc/qemu-ifup
为了让每次开机的时候都能执行这些,把下面的内容写到 /etc/sysctl.conf:
net.link.ether.bridge_cfg=fxp0,tap0
net.link.ether.bridge.enable=1
并在 /boot/loader.conf 添加:
bridge_load="YES"
通过下面的方法启动 qemu:
# qemu -net nic -net tap
参考了
freebsd vde helpp

Qemu 作为 VNC 服务器
QEMU 中显示非常慢,因此将 qemu 作为 vnc 服务器运行非常有用。
% qemu -hda /work/qemu/win2000ja/win2000.img -localtime -m 384 -vnc :1 -usbdevice tablet
运行 vncviewer 像这样(你可以通过 ports/net/tightvnc 安装):
% vncviewer :1
你应该等待直至 Windows 开始启动。
全屏模式(慢)
Qemu 使用 SDL 来输出到屏幕。现代的
[url=javascript:;]视频[/url]
卡支持 VESA 2.0,因此你可以通过 VESA 2.0 来使用 SDL。当你使用 SDL 时你需要额外的设置。首先,重新配置内核:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ZFS存储的规划

下一篇:在 FreeBSD 7.0 上运行 Qemu